猫头鹰旋转木马 – 只用一个圆点旋转木马滑动滑动多个旋转木马

我有两个我想要使用的旋转木马,他们都有相同数量的物品所以它会很好,但我只想有一个导航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"]所以这次,我要么触发其中一个而生病,只是找到具有相同data-index的另一个button ,但它会导致错误。

  Uncaught RangeError: Maximum call stack size exceeded 

我认为我的第四个function有问题。 或者是否有任何一个dots会触发owl-carousel其他dots

这个点击处理程序:

 $('.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)

你有错误,主要是因为你在哪里说:«点击我,点击我。»…这导致最大的堆栈错误。

因此,检查点是否已激活将停止无限循环。