Taro中ScrollView实现轮播图

ScrollView 的scrollIntoView 实现轮播效果

1.背景:

1.1 为什么不用taro原生的Swiper轮播组件

  • 需要自定义轮播分页
  • 通过onChange事件来获取当前current再来更新底部分页,后有一定延迟,效果不佳
  • 元素选中与未选中要进行缩放

2. 具体实现

tsx 复制代码
const [targetViewId, setTargetViewId] = useState<string>()



 const testClick = () => {
    setTargetViewId('test_1')
  }

<Button onClick={testClick}>按钮</Button>
<ScrollView 
 scrollX
 scrollY={false}
 scrollWithAnimation
 onScroll={handleTouchMove}
 scrollIntoView={targetItemId}
>
{swiperList.map(()=>{

return (
    <View                   
    key={index}
    id={`test_${index}`}
></View>
)
})}

</ScrollView>

按钮的点击事件可以,让当前视图平滑的滚动到一组图片的第二张图片中,scrollWithAnimation 属性也可以在滚动中添加缓慢的动画效果。我们也可以在handleTouchMove事件中处理当前,展示的图片,以及与相应的css配合展示对应当前展示时样式和未展示时样式。

相关推荐
幽络源小助理15 分钟前
HTML5 + Bootstrap5 网站底部代码分享与解析
前端·html·html5·网站底部代码
请叫我飞哥@15 分钟前
HTML5 动画效果:淡入淡出(Fade In/Out)详解
前端·html·html5
计算机毕设指导631 分钟前
基于Springboot的医院资源管理系统【附源码】
java·前端·spring boot·后端·mysql·spring·tomcat
一 乐1 小时前
考研助手|基于SSM+vue的考研助手系统的设计与实现(源码+数据库+文档)
前端·数据库·vue.js·后端·考研·考研助手
还需studystudy1 小时前
Vue——使用html2pdf插件,下载pdf文档到本地
前端·vue.js·pdf
mit6.8241 小时前
[Qt] 信号和槽(2) | 多对多 | disconnect | 结合lambda | sum
linux·前端·c++·qt·学习
A雄1 小时前
2025新春烟花代码(一)HTML5夜景放烟花绽放动画效果
前端·html·html5
冴羽1 小时前
Solid.js 最新官方文档翻译(22)—— 部署
前端·javascript·react.js
风度前端1 小时前
使用GitHub Actions自动发布npm包
前端·npm·github
没有名字的小羊2 小时前
Cyber Security 101-Web Hacking-Burp Suite: The Basics(Burp Suite:基础知识)
前端·网络·测试工具·安全·web安全