-2

计数器的代码给出了错误

类似的片段没有

我想不出任何正当的理由...

正在考虑的线路是:

<input type=button name="but2" value="stop" onClick="window.clearTimeout(ID);">    

完整的代码是:

<html>
        <head>
        <script language="JavaScript">
            var counter=0;
            ID=window.setTimeout("start();",2000);
            function start()
            {
                counter++;
                document.forms[0].elements[0].value=counter;
                ID=window.setTimeout("start();",2000);
            }
        </script>
        </head>
        <body>
            <form name="frm1">
                <input type="text" name="timer1">
                <input type="button" name="but1" value="start" onClick="counter=0; start();">
                <input type=button name="but2" value="stop" onClick="window.clearTimeout(ID);">
            </form>
        </body>
</html>
4

3 回答 3

0

关于该代码的所有内容都是错误的。以后请尽量避免使用该教程来源。

这是一个工作脚本:http: //jsfiddle.net/teresko/qTJPx/

您的脚本问题列表:

  • 缺少文档类型
  • language="JavaScript"已弃用
  • 变量IDcounter最终在全局范围内
  • 使用 html 附加事件
  • 不正确的使用setTimeout
  • <script><head>DOM 尚未准备好时使用的标记

..而且我什至不想重复那个“类似的片段”,它看起来像是完全应该被埋葬的东西。

添加 JavaScript 代码时,它应该在关闭之前</body>标记之前,因为在那个阶段 DOM 已经准备好,但页面还没有开始渲染。

我强烈建议您获取一些更新的学习 JavaScript 的材料。

于 2012-04-22T11:33:20.717 回答
0

使用window.start而不是开始onClick事件。当您使用代码而不是处理程序的函数时,IE 可能不会创建窗口上下文。

于 2012-04-22T10:29:44.653 回答
0

嗨,我认为在这一行中你得到了错误

ID=window.setTimeout("start();",2000);

正确的 ?

把这段代码

var  ID=window.setTimeout("start();",2000);

你不会得到这个 JavaScript: ErrorObject doesn't support this action错误。

于 2014-02-03T08:00:51.413 回答