不恰当地使用setInterval

时间:2015-02-21 05:43:39

标签: javascript setinterval

<html>
    <head>
        <script type="text/javascript" language="JavaScript">

            var inter;
            var seconds = 1;

            function recharge() 
            {
                inter = window.setInterval( "printA()" , 1000 );
            }

            function printA()
            {
                document.write( "you are here: " + seconds + " seconds" );
                seconds++;
            }
        </script>

    </head>
    <body>
            <button onclick="recharge();"> Start </button>
    </body>
</html>

我的问题是... recharge()包含一个setInterval(),其中包含一个函数printA() 这个函数打印一个document.write变量,每次recharge加一个变量 被称为...但只打印1并且不打印下一个数字。我尝试使用alert代替document.write 和它的工作所以我不知道我做错了什么。我是个菜鸟。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

因此,当我理解您的问题和评论时,您希望打印出类似这样的内容:

  

你在这里:2秒

     

你在这里:3秒

     

你在这里:4秒

我建议做这样的事情:

<html>
    <head>
        <script type="text/javascript" language="JavaScript">

            var inter;
            var seconds = 1;

            function recharge() 
            {
                inter = window.setInterval( "printA()" , 1000 );
            }

            function printA()
            {
                document.body.innerHTML += "<div>you are here "+seconds+" seconds</div>";
                seconds++;
            }
        </script>

    </head>
    <body>
            <button onclick="recharge();"> Start </button>
    </body>
</html>

+ =将继续将html附加到文档中。

答案 1 :(得分:0)

当您使用document.write()时,整个页面将被重写,这意味着您的所有JavaScript都将丢失。 alert()应该可以工作 - 你尝试了什么? winhowes的innerHTML方法可能效果最好。我也看不到'充电();'应该实现。