Как динамически выйти из JQuery $ .each ()? - PullRequest
27 голосов
/ 04 июня 2010

У меня есть список изображений, которые я получаю через ajax, а затем с помощью jquery $ .each () я перебираю изображения и показываю изображение одно за другим через интервал в одну секунду. Я хочу, чтобы пользователь мог нажимать кнопку «Стоп», чтобы пользователь мог остановиться на определенном изображении, если он этого хочет. Поэтому мне нужно динамически выйти из $ .each (), когда пользователь нажимает кнопку остановки. Возможно ли это сделать?

Ответы [ 5 ]

55 голосов
/ 04 июня 2010

Вы можете использовать return false для раннего выхода из each() петель.

Пример:

<script>
    $("button").click(function () {
      $("div").each(function (index, domEle) {
        // domEle == this
        $(domEle).css("backgroundColor", "yellow"); 
        if ($(this).is("#stop")) {
          $("span").text("Stopped at div index #" + index);
          return false;
        }
      });
    });

</script>

Источник : http://api.jquery.com/each/

13 голосов
/ 04 июня 2010

Чтобы выйти из цикла each(), вы должны:

return false;

Таким образом, ваша кнопка может установить переменную при нажатии, что каждый цикл проверяет каждый проход, а затем возвращает false, когда переменная установлена.

http://api.jquery.com/each/

4 голосов
/ 04 июня 2010

http://api.jquery.com/each/

Мы можем остановить цикл изнутри функция обратного вызова путем возврата false.

3 голосов
/ 04 июня 2010
return(false);

должен это сделать.

0 голосов
/ 21 мая 2011

Используйте return false; между каждой петлей.

...