【发布时间】: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属性来知道哪个是哪个。第二个和第三个是使它们相同,例如如果这个button 有data-index="dot-0" 另一个owl.dots 将是button[data-index="dot-0"] 所以这一次,我要么想触发其中一个,但我只是找到另一个button 与data-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