我有两个想使用的轮播,它们都具有相同数量的物品,所以可以,但是我只想进行一次导航dots
并能够触发多个{{1} }具有相同的属性。
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();
});
});
属性以了解哪个。第二个和第三个是使它们相同的方法,例如如果这个index
具有button
,而另一个data-index="dot-0"
也将是owl.dots
,那么这次,我要么想触发其中一个并生病,只是找到具有相同button[data-index="dot-0"]
的另一个button
,但这会导致错误。
data-index
我认为我的第四个功能有问题。或者是否存在某个实例,一个 Uncaught RangeError: Maximum call stack size exceeded
会通过dots
触发另一个dots
?
答案 0 :(得分: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)
!
您有此错误,基本上是因为您在说:«单击我,请单击我。»...这会导致最大堆栈错误。
因此,还要检查该点是否已激活将停止无限循环。