首页 > 解决方案 > “未捕获的 TypeError:无法读取未定义的属性 'stop'” on autoplay.stop() (Swiper)

问题描述

我在 Wordpress 设置中初始化了两个 Swiper 实例。他们自己的幻灯片按预期工作,但是Uncaught TypeError: Cannot read property 'stop' of undefined当我试图在悬停时停止其中一个幻灯片的自动播放时,我进入了控制台。

我的 Javascript 中的设置如下所示:

var newsSwiper = new Swiper ('.s2', {
    // Optional parameters
    direction: 'horizontal',
    loop: true,
    slidesPerView: 3,
    spaceBetween: 20,
    autoplay: {
      delay: 5000,
    },
  });

  var filmSwiper = new Swiper ('.s1', {
    // Optional parameters
    direction: 'horizontal',
    loop: true,
    slidesPerView: 'auto',
    spaceBetween: 20,

    // Navigation arrows
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
  });

  jQuery(".s2").hover(function() {
    newsSwiper.autoplay.stop();
  });

在阅读了 Swiper 的 Github 上的一些问题之后,这似乎是正确的做法。但由于某种原因,该函数无法识别该newsSwiper变量。任何想法为什么?

标签: javascriptjqueryswiper

解决方案


不久后我发现了问题。问题出在标记中,我不小心.s2在两个幻灯片上都有相同的类 ( )。更改它以便只有一个幻灯片具有该类.s2使错误消失。


推荐阅读