当前位置: 代码迷 >> 综合 >> 响应式页面,插件vue-awesome-swiper在移动端乱套了,还有页面局部刷新会使得vue-awesome-swiper乱套,好纠结的说...改好之后记录一下子
  详细解决方案

响应式页面,插件vue-awesome-swiper在移动端乱套了,还有页面局部刷新会使得vue-awesome-swiper乱套,好纠结的说...改好之后记录一下子

热度:93   发布时间:2023-12-24 18:22:01.0

首先,页面是响应式的,响应式的就不可避免的布局重新排列啊,重新渲染啊,什么resize, display:none; vibisility:hidden; transition, 等等,还有官网有一些什么动画特效啥的,结合着JS做一些简单的特效也几乎是不可避免的,有几个轮播直接用的 vue-awesome-swiper 插件,由于…怎么说呢,接口 API 也不可能一个个全看完了再去写这个轮播吧 所以中间出了不少的问题,截图就算了,不一一截图了,只说几个特有用的 option 的 params 吧,有了这几个 params ,什么局部刷新影响 swiper 布局,影响滑动,都白扯,全好了
奉上 API 地址【看API】

  1. init 当你创建一个Swiper实例时是否立即初始化。
{
    init: false,
}
  1. observer 启动动态检查器(OB/观众/观看者),当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper。
    默认false,不开启,可以使用update()方法更新。
{
    observer:true,
}
  1. observeParents 将observe应用于Swiper的父元素。当Swiper的父元素变化时,例如window.resize,Swiper更新。
{
    observeParents:true,
}
  1. 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();}}
},
  相关解决方案