猫头鹰旋转木马 – 只用一个圆点旋转木马滑动滑动多个旋转木马
我有两个我想要使用的旋转木马,他们都有相同数量的物品所以它会很好,但我只想有一个导航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
属性以了解哪个是。 第二个和第三个是使它们相同,就像这个button
有data-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)
!
你有错误,主要是因为你在哪里说:«点击我,点击我。»…这导致最大的堆栈错误。
因此,检查点是否已激活将停止无限循环。