0

我正在尝试使用两个(或更多) setIntervals 来回弹跳打开/关闭 2 个功能。我也试过 clearInterval() 但我得到相同或没有结果。请帮忙,我从早上起就一直想弄清楚它让我发疯!:'(我如何正确使用多个setIntervals?如果不是太多要求,一些非常简单的例子会很棒!(我很新)。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>PreLicenseTraining T-Idler</title>
</head>
<body onload="f1();">
    <script type="text/javascript">

        function f1() {
            document.write("1");
            setInterval(f2, 1000);
        }
        function f2() {
            document.write("2");
            setInterval(f1, 1000);
        }

    </script>

</body>
</html>

输出:

(第一秒) 1 (第二秒) 12 (第三秒) 1221 (第四秒) 12211221

我想要的只是一个简单的 1212121 每秒。

4

1 回答 1

0

关键是存储您正在创建的计时器,这是您将如何使用的方法setInterval,但我也建议像Crazy Train所说的那样使用setTimeout.

JS:

<body onload="f1();">
    <script type="text/javascript">
        var timer1, timer2;

        function f1() {
            document.write("1");
            timer1 = setInterval(f2, 1000);

            if (timer2 != undefined) clearInterval(timer2);
        }

        function f2() {
            document.write("2");
            timer2 = setInterval(f1, 1000);

            if (timer1 != undefined) clearInterval(timer1);
        }
    </script>
</body>
于 2013-08-03T02:08:44.513 回答