在onTransitionEnd(swiper) 或者 onSlideChangeEnd(swiper)回调中给当前页添加动画类,其他页移除动画类,其中 swiperactiveIndex 为当前活动块的索引。
uni的swiper官方不建议渲染太多,只用作渲染少量轮播图用。
大致数量在50左右会明显卡顿半秒左右,1百多明显超过1秒,三四百则会三四秒很正常。关键词类似长列表优化
侧滑的场景,比如题库左右切换有的成百上千,抖音之类的卡片切换都会存在,已有解决方案参考站内。
原文参考下方:
curindex list对应的数据
swiperIndex 轮播图索引一直0/1/2循环 (是长列表swiper中优化只显示上一张当前下一张)
参考资料 >
学小程序时写过一个B站demo,也遇到此问题,最后自定义Swiper的Dot来实现了。 思路是:用view组件重写dot,给swiper组件绑定bindchange事件用来获取当前第几个dot,动态改变class。
注册开发者账号: >
<div class="swiper-container">--首先定义一个容器
<div class="swiper-wrapper">
<div class="swiper-slide"><img src="" /></div> --添加
<div class="swiper-slide"><img src="" /></div>
<div class="swiper-slide"><img src="" /></div>
</div>
<div class="swiper-pagination"></div>--小圆点分页器
<div class="swiper-button-prev"></div>--上一页
<div class="swiper-button-next"></div>--下一页
</div>
复制代码
如果想让它动起来,那就继续来写js吧
复制代码
var mySwiper = new Swiper("swiper-container",{
autoplay:1000,--每秒中轮播一次
loop:true,--可以让循环轮播
autoplayDisableOnInteraction:false,--在点击之后可以继续实现轮播
pagination:"swiper-pagination",--让小圆点显示
paginationClickable:true,--实现小圆点点击
prevButton:"swiper-button-prev",--实现上一页的点击
nextButton:"swiper-button-next",--实现下一页的点击
effect:"flip"--可以实现3D效果的轮播
})
复制代码
Swiper轮播的也有它的好处:
1Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。
2Swiper能实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果。
3Swiper开源、免费、稳定、使用简单、功能强大,是架构移动终端网站的重要选择!
同时也有不足之处:(使用Swiper轮播插件ajax请求加载时,无法滑动的问题)
因为banner图是动态创建的,在插件开始初始化时,文档流中没用,所以没有创建相应宽度,通过调整js加载顺序,问题还是没有解决。
最后找到swiper插件 api 有属性是可以根据内容变动,自动初始化插件的,添加observer:true后问题解决!
var mySwiper = new Swiper ('swiper-container', {
pagination: 'swiper-pagination',
autoplay: 5000,
loop: true,
observer:true,//修改swiper自己或子元素时,自动初始化swiper
observeParents:true,//修改swiper的父元素时,自动初始化swiper
})
Swiper拥有丰富的API接口。(不过关于中文文档不多,没找着。)能够让开发者生成个人独有的分页器(pagination),上下滑块的按钮
以及4个回调函数:1onTouchStart
2onTouchMove
3onTouchEnd
4onSlideSwitch。
以上内容是我个人总结,希望对各位有所帮助!
以上就是关于swiper怎么当到当前页时才加载css动画全部的内容,包括:swiper怎么当到当前页时才加载css动画、uni swiper卡顿长列表优化、怎么打印出小程序swiper的current等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)