每次特定元素在jQuery中都有某个类时,我都会尝试执行一段代码。
我遇到的问题是代码只执行一次,然后似乎不活跃。我正在使用if语句,但我也尝试过。当我尝试的时候,没有什么真的有效,所以这不是一个好主意。有什么解决方案吗?这是代码:
if($(".slide:first").hasClass("active-slide")) {
$(".prev").hide();
$(".next").click (function () {
$(".prev").show();
});
}
答案 0 :(得分:2)
JQuery查询只执行一次。你可以在一个区间内执行它:
var checkPage = function(){
if($(".slide:first").hasClass("active-slide")) {
$(".prev").hide();
$(".next").click (function () {
$(".prev").show();
});
}
}
var intrvl = setInterval( checkPage, 300 );
这可能有用,但在大页面上可能会变得很慢。
我宁愿将checkPage()
函数附加到幻灯片更改事件。
答案 1 :(得分:1)
将其包裹在each()
中,以便每次滑块执行时:首先发生。
$(".slide:first-child").each(function(){
// your function goes here
});
编辑::first
仅定位页面上的第一个实例,因此无论如何它只会触发一次。您可能正在寻找:first-child
。