jQuery .each и setTimeout не работает - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь достать виртуальную долину от активного слайдера.Я использовал каждый и функцию 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 голосов
/ 13 ноября 2018

Если вы хотите, чтобы активный ползунок каждые 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();
...