繁体   English   中英

HTML Javascript-setInterval无法正常运行

[英]HTML Javascript - setInterval is not running properly

我将以下代码附加到此处,以使用Java语言的setInterval()函数。 在未运行docoment.write之后,该代码仅运行一次,以在浏览器中写入i的值。 任何人都可以让我知道我的代码在哪里出错:

<html>
<head>
    <script type="text/javascript">
    function inCreas(){
        var i = 0;
        var interval = setInterval(func,2000);
        function func(){i++;
            document.write("<p>This is the value of i : "+ i +"</p>");
            }
    }
    </script>
    </head>
    <body onload="inCreas()">

    </body>
    </html>

我已经在IE 8和Firefox 24.0中尝试过,但是结果是相同的。

提前致谢。 瓦苏杰夫

document.write仅在文档处于“打开”状态时有效。 到达结束html标签后,它将关闭。 之后,调用document.write将打开一个全新的文档。

现在,这发生在您的页面中:

  1. 创建原始文档并注册onload功能。
  2. 文件已关闭
  3. setInterval函数触发器
  4. 由于现有文档已经关闭,因此将创建一个新文档,完全覆盖旧文档。 您可以通过在body标签内放置一些东西来进行测试-一旦执行document.write ,它将消失。 这将创建一个全新的上下文-您的setInterval也不再出现在新文档中。

要获得所需的效果,可以改用innerHTML参见DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM