jQuery .each和setTimeout无法正常工作

时间:2018-11-13 10:51:01

标签: javascript jquery settimeout each

我正在尝试从活动的滑块上获得一些Attar谷值。我已经使用了每个setTimeout函数。最初,这可行。但是一段时间后,如果我使用此代码,则滑块会停止。请注意,此代码独立于滑块代码。

function checkForChanges() {
  $('#ninja-slider ul li').each(function(i) {
    if ($(this).hasClass("ns-show")) {
      //$(this).css("color", "red");
      console.log('yes')
    } else {
      setTimeout(checkForChanges, 3000);
      console.log('no')
    }
  });
}

$(checkForChanges);

1 个答案:

答案 0 :(得分:0)

如果您希望每3秒获取一次活动滑块,则不需要每个滑块,就像这样:

function checkForChanges() {
  //Here is the active li in the slide  
  var active_li = $("#ninja-slider li.ns-show");

  //Get the src of shwon image
  console.log( $("#ninja-slider li.ns-show").find('img').attr('src') );

  setTimeout(checkForChanges, 3000);
}

checkForChanges();