问题一:
tab控制display:none切换不同模块时,只有第一个模块的swiper方法可以正常显示,第二个并没有初始化,所以并没有轮播效果,
处理方法:
添加参数
{
observer: true,
observeParents: true,
}
解释:这两个参数为监视器,当swiper的样式等发生改变时,可以自动初始化swiper插件。
问题二:
切换时,不同模块的swiper可以初始化,但自动播放失效。
百度结果:添加参数
autoplayDisableOnInteraction:false
实现效果:不能实现,几乎能百度到的都试过了,不行。。。
处理方法一:
在实例化swiper方法的外层再加上一层函数,当每次点击切换时,重新调用这个方法。亲测可行。
处理方法二:
因为我的切换使用的是display:none,每次切换虽然可以初始化swiper插件,但是应该是初始化的不彻底,不然自动播放也不会失效。这个时候就不要用display控制了,用opacity控制,盒子设置绝对定位,opacity设置为0,每次点击的盒子opacity设置为1。
解释:页面首次加载的时候,所有的swiper插件都是进行了实例化,只是opacity为0没有显示而已。