gpt4 book ai didi

javascript - 每个函数只触发一次

转载 作者:行者123 更新时间:2023-12-03 00:45:35 24 4
gpt4 key购买 nike

我正在尝试触发多个具有相同类的 Owl Carousel slider 上的功能。如果我执行 console.log,它会记录两次,但仅适用于第一个 slider 。

这是我的功能:

function setActiveItem(){
var item = $('.owl-item');
var itemLink = $('.owl-item a');
var pos = $('.is-active').parent().parent().index();

$('.slider-mobile').each(function() {
if($(this).find(itemLink).is('.is-active')) {
item.removeClass('active');
$(this).trigger('to.owl.carousel', [pos, 1, true]);
}
})
}

setActiveItem();

这是我的标记的简化版本:

<ul class="list-container slider-mobile" data-stage-padding-items="200">
<li class="list-item">
<a href="#" class="title title--small list-link is-active">item</a>
</li>
</ul>
<ul class="slider-mobile" data-stage-padding-items="200">
<li class="list-item">
<a href="#" class="title title--small list-link is-active">item</a>
</li>
</ul>

我不确定我是否正确使用了each()函数,或者它是否完全满足我的需要。

最佳答案

好吧,我明白了。@Reinder Wit,你是对的,我只引用了第一个 slider 的项目,所以我的两个 slider 都获得了相同的数据。

我这样做了:

function setActiveItem(){

$('.slider-mobile').each(function() {
var item = $(this).find('.owl-item');
var itemLink = $(this).find('.owl-item a');
var pos = $(this).find('.is-active').parent().parent().index();

if($(this).find(itemLink).is('.is-active')) {
item.removeClass('active');
$(this).trigger('to.owl.carousel', [pos, 1, true]);
console.log(pos);
}
})
}

setActiveItem();

现在正在运行。感谢您的线索。

关于javascript - 每个函数只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53262389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com