美文网首页
swiper4.x遇到的问题

swiper4.x遇到的问题

作者: 江疏影子 | 来源:发表于2018-12-29 09:22 被阅读0次

效果:需要自动缓慢的轮播
问题:在请求回来的数据append到slide里面的时候,autoplay失效了,并且偏移值会一直出问题,目前最好的解决方法是在slide触摸一次 触发autoplay 然后再才会缓慢移动,虽然问题还没有彻底解决,但也还好。
代码如下:
在js里面进行初始化,在初始化里面添加两个重要属性

observer:true,//修改swiper自己或子元素的时候,自动初始化swiper

observeParents:true,//修改swiper的父元素时,自动初始化swiper

其余的属性

autoplay: {
    delay: 2000,//1000毫秒切换一张
    disableOnInteraction: false,
    },
    lazy: {//设为true的时候开启图片延迟加载默认值,使preloadImages无效
        loadPrevNext: true,//设置为true允许将延迟加载应用到最接近的slide的图片(前一个和后一个slide)。
        loadPrevNextAmount: 5,//设置在延迟加载图片时提前多少个slide。个数不可少于slidesPerView的数量。默认值为1
    },
    speed: 500,//切换一张的时间为500毫秒
        freeMode:true,
    loop: true,//是否形成环路
    slidesPerView :'auto',//设置slider容器能够同时显示的slides数量(carousel模式)。,
    spaceBetween:5,
    onSlideChangeEnd: function(swiper){
        swiper.update();
        swiper.startAutoplay();
        swiper.reLoop();
      } ,
    on: {
        slideChangeTransitionEnd: function(){//回调函数,swiper从一个slide过渡到另一个slide结束时执行。
              console.log(this.slides)
              this.slides.transition(this.params.autoplay+this.params.speed).transform('translate3d(-5px)');
                  //this.params.autoplay.delay=1000 this.params.speed=1000
        },
    // slideChangeTransitionStart: function(){//swiper从当前slide开始过渡到另一个slide时执行。
    // this.slides.transition(this.params.speed).transform('translate3d(0, 0, 0)');
    //this.params.speed=700
    //console.log(this.slides.transition(this.params.speed).transform('translate3d(0, 0, 0)'));
// },
    }
});
window.onresize=function(){
    swiper.update();
    };
2019.1.17更新

1.在鼠标移入的时候swiper停止滑动,移出的时候滑动继续

var mySwiper6=new Swiper('#swiper6', {
    init: false,
    autoplay: {
        delay: 1000,
    },
     slidesPerView: 4,
     observer: true,//修改swiper自己或子元素时,自动初始化swiper
     observeParents: true,//修改swiper的父元素时,自动初始化swipe
});
mySwiper6.el.onmouseover = function(){ //鼠标放上暂停轮播
      mySwiper6.autoplay.stop();
};
mySwiper6.el.onmouseleave = function(){//鼠标移出继续轮播
     mySwiper6.autoplay.start();
};

2.有时候会出现轮播图初始化有问题,可以利用延时器再进行一次初始化

setTimeout(function () {
      mySwiper6.init();
},1000);

相关文章

  • swiper4.x遇到的问题

    效果:需要自动缓慢的轮播问题:在请求回来的数据append到slide里面的时候,autoplay失效了,并且偏移...

  • 记录一下对swiper4.x.js在H5单页中的滑动优化

    应用场景 仅仅应用于单页应用的滑动操作,用swiper4.x接管页面的滚动操作。用来支持顶部和尾部的回弹效果,进一...

  • 遇到的问题

    express 搭建脚手架 - 因为chroma网络设置开了代理导致无法显示页面。。。。。。。。 express...

  • 遇到的问题

    还需要学习的东西vue源码nodejshttp等网络知识typescript设计模式 还需要刷的题牛客网前端50题...

  • 遇到的问题

    Dom4J 使用Dom4J解析XML文件时,遇到&时,程序异常信息“Error on line 1 of docu...

  • 遇到的问题

    【报错】变量 is not callable 当出现报错 XXX is not callable的时候,很有可能是...

  • AS遇到的问题

    Q 一些jar包提示Failed to resolve: com.squareup.retrofit:retrof...

  • 遇到的问题

    1.列表页右侧进度条没有,原因是:设置了body的overflow:hidden,范围设置太广,导致整个页面的ov...

  • 遇到的问题

    appcode 不能真机运行 Error:Safe Area Layout Guide before iOS 9....

  • 遇到的问题

    自主学习在线上课 在线上课又分成了各种细类别,中教1v1,外交1v1,小班课4,小班课8,在枚举里面,慢慢淘汰旧的...

网友评论

      本文标题:swiper4.x遇到的问题

      本文链接:https://www.haomeiwen.com/subject/qxfulqtx.html