求助!swiper鼠标放上面停止变动报错。

远方
  • 1
新手上路,请多包涵

    var swiper = new Swiper('.swiper-container', {
        spaceBetween: 30,       //slide之间的距离
        centeredSlides: true,   //若为真,那么活动块会居中,而非默认状态下的居左
        mousewheel: false,
        grabCursor: true,
        autoplay: {             //自动切换
            delay: 1000,
            disableOnInteraction: false
        }
    });
    //鼠标悬停停止切换
    $('.swiper-container').hover(function(){
        swiper.autoplay.stop();
    },function(){
        swiper.autoplay.start();
    });

控制台报错:

(index):138 Uncaught ReferenceError: swiper is not defined
    at HTMLDivElement.<anonymous> ((index):138)
    at HTMLDivElement.handle (jquery.min.js:2)
    at HTMLDivElement.dispatch (jquery.min.js:2)
    at HTMLDivElement.y.handle (jquery.min.js:2)

求助如何解决?
Swiper 3.4.2

回复
阅读 537
1 个回答

swiper未定义,说明在你hover获取这个swiper示例的时候,swiper的作用域不对或者说swiper被干掉了,函数里拿不到这个值。

因为不清楚你的上下文,你可以先将上面的改写为window.mySwiper = new Swiper,hover再去获取window.mySwiper看下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏