【问题标题】:Owl Carousel - Slide multiple carousels with just one dots carousel slideOwl Carousel - 只需一个点旋转木马幻灯片即可滑动多个旋转木马
【发布时间】:2018-07-23 03:02:23
【问题描述】:

我有两个想要使用的轮播,它们的项目数量相同,所以没问题,但我只想有一个导航 dots 并能够触发多个 dots 相同属性。

$('.div_main .owl-dots').each(function(index) {
    $(this).attr('data-index','dot-'+index);
});
$('.owl-dots[data-index="dot-0"] button').each(function(index) {
    $(this).attr('data-index','dot-'+index);
});
$('.owl-dots[data-index="dot-1"] button').each(function(index) {
    $(this).attr('data-index','dot-'+index);
});
$('.div_main .owl-dot').click(function(e) {
    e.preventDefault();
    var idx = $(this).data('index');



    $('.div_main').each(function() {
        $(this).find('button.owl-dot').eq(0).attr('data-index',idx).click();
    });
});

第一个功能是获取所有的owl-dots并添加index属性来知道哪个是哪个。第二个和第三个是使它们相同,例如如果这个buttondata-index="dot-0" 另一个owl.dots 将是button[data-index="dot-0"] 所以这一次,我要么想触发其中一个,但我只是找到另一个buttondata-index 相同,但会导致错误。

  Uncaught RangeError: Maximum call stack size exceeded

我认为我的第四个函数有问题。或者在任何情况下,一个dots 会用owl-carousel 触发另一个dots

【问题讨论】:

  • 试试$(this).find('button.owl-dot').eq(idx).click();
  • @LouysPatriceBessette 有没有办法找到所有具有相同属性的按钮并将它们一起触发?总是这个Uncaught RangeError: Maximum call stack size exceeded 错误
  • 好主意...试试$("[data-index='"+idx+"']").click()
  • 我得到同样的错误
  • 等一下...大声笑...我明白了。oO(还有时间!)

标签: javascript jquery owl-carousel owl-carousel-2


【解决方案1】:

此点击处理程序:

$('.div_main .owl-dot').click(function(e) {
  e.preventDefault();

  if(!$(this).is(".active"){
   var idx = $(this).data('index');
   $("[data-index='"+idx+"']").not(this).click();
  }
});

注意.not(this)

你有这个错误,基本上是因为你在哪里说:«点击我,点击我。»...这导致最大堆栈错误。

所以还要检查点是否已经激活将停止无限循环。

【讨论】:

  • 我有一个疑问......它仍然可能触发堆栈错误。
  • 我有更好的东西让你试试... ;)
  • 好的,请给我看点东西,我很难处理这个,owl-carousel 东西。
  • 很高兴知道它有效。 ;) 总有办法......这只是耐心的问题。
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
  • 2021-12-05
  • 2018-03-05
  • 1970-01-01
  • 2022-07-26
相关资源
最近更新 更多