使用多个setIntervals?

时间:2013-08-03 01:43:46

标签: javascript setinterval clearinterval

我正在尝试使用两个(或更多)setIntervals来回反复打开/关闭这两个功能。我也尝试过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秒。

1 个答案:

答案 0 :(得分: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>