如何动态退出jquery $ .each()?

pet*_*ter 27 each jquery loops

我有一个图像列表,我通过ajax,然后使用jquery $ .each()我循环通过图像,并在一秒钟的间隔后一个接一个地显示图像.我希望用户能够点击停止按钮,以便用户可以根据需要停在特定图像上.所以我需要在用户点击停止按钮时动态退出$ .each().有可能吗?

Ade*_*eel 55

你可以用来尽早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>
Run Code Online (Sandbox Code Playgroud)

资料来源:http://api.jquery.com/each/

  • 但你必须返回`false`.你不能早早回来'真实'. (2认同)

use*_*716 13

要打破一个each()循环你会:

return false;
Run Code Online (Sandbox Code Playgroud)

所以你的按钮可以在单击时设置一个变量,每个循环检查每次传递,然后在设置变量时返回false.

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