首先,页面是响应式的,响应式的就不可避免的布局重新排列啊,重新渲染啊,什么resize, display:none; vibisility:hidden; transition, 等等,还有官网有一些什么动画特效啥的,结合着JS做一些简单的特效也几乎是不可避免的,有几个轮播直接用的 vue-awesome-swiper 插件,由于…怎么说呢,接口 API 也不可能一个个全看完了再去写这个轮播吧 所以中间出了不少的问题,截图就算了,不一一截图了,只说几个特有用的 option 的 params 吧,有了这几个 params ,什么局部刷新影响 swiper 布局,影响滑动,都白扯,全好了
奉上 API 地址【看API】
- init 当你创建一个Swiper实例时是否立即初始化。
{
init: false,
}
- observer 启动动态检查器(OB/观众/观看者),当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper。
默认false,不开启,可以使用update()方法更新。
{
observer:true,
}
- observeParents 将observe应用于Swiper的父元素。当Swiper的父元素变化时,例如window.resize,Swiper更新。
{
observeParents:true,
}
- observeSlideChildren 子slide更新时,swiper是否更新。默认为false不更新
{
observeSlideChildren:true,
}
这几个属性一添加,全都好了,页面再做什么特效,什么动画,统统木得问题丫
看我的例子,swiper 内部样式改动,外部样式改动的就不展示了
options 示例:
mobileSwiperOption: {
init:false,loop: true,autoplay: true,delay: 3000,slidesPerView: 5,initialSlide: 0,grabCursor: true,observer:true,observeParents:true,observeSlideChildren:true,on: {
slideChangeTransitionStart: () => {
this.mobileChangeStart();this.mobileChangeEnd();},slideChangeTransitionEnd: () => {
// this.mobileChangeEnd();}}
},