如何在javascript中中断for循环

How to make a break in a for loop in javascript

本文关键字:中断 for 循环 javascript      更新时间:2023-09-26

我想中断javascript中的for循环。我的实际代码是

<p id="1">The video opens</p>
        <script>
    for(i=0; i<5; i++) {
        myWindow = window.open("VIDEO");
        document.getElementById("1").innerHTML = "Wait";
        setTimeout(myWindow.close(), 10000);
    }
        </script>

视频应该从一个新的选项卡开始,播放10秒,然后关闭。然后它再次启动,播放10秒后关闭视频等。。。但超时并不是真正的超时。它只会使myWindow.close()在10秒后出现这意味着,所有10个视频都开始,然后,10秒后,一个视频关闭。我怎样才能使它正常工作?

我想你是说你想一次做十个视频。

如果是这样,则不能使用for循环,必须使用setIntervalsetTimeout的链式系列。在这种情况下,我会选择后者:

// IIFE to keep our variables private
(function() {
    // Counter
    var i = 0;
    // Show the first video
    showVideo();
    // Function for showing the current video identified by `i`
    function showVideo() {
        var myWindow = window.open("VIDEO"); // Presumably use `i` here
        document.getElementById("1").innerHTML = "Wait";
        setTimeout(function() {
            // Close the window
            myWindow.close();
            // Done yet?
            if (++i < 10) {
                // No, show the next video
                showVideo();
            }
        }, 10000);
    }
})();

用setInterval函数更改setTimeout,setInterval功能是为循环而设的,它每10秒运行一次,例如,就像你想要的那样。