为什么这个简单的 JavaScript 秒表不起作用?

E C*_*der 2 javascript chronometer

我编写了一些非常简单的代码,应该代表一个带有两个按钮的秒表,其中单击“开始”应该从 0 开始向上计数,延迟 1 秒。

但是,当我单击时没有任何变化。我的错误在哪里?

"use strict";
var s = 1;

function mf() {
  setInterval(function() {
    document.getElementById("#sw").innerText = ++s;
  }, 1000);
}
Run Code Online (Sandbox Code Playgroud)
<div id="sw">0</div>
<input type="button" value="Start" name="start" onlick="mf" />
<input type="button" value="Stop" name="stop" />
Run Code Online (Sandbox Code Playgroud)

Zac*_*105 5

你有两个问题:

1):您正在使用

onlick="mf"
Run Code Online (Sandbox Code Playgroud)

然而,它应该是:

onclick="mf();"
Run Code Online (Sandbox Code Playgroud)

2):#您在“getElementByID”中 使用了 a 。这不是 jQuery-使用

document.getElementById("sw")
Run Code Online (Sandbox Code Playgroud)

工作答案

你的错误:

    document.getElementById("#sw").innerText = ++s;
Run Code Online (Sandbox Code Playgroud)

应该

    document.getElementById("sw").innerText = s++;
Run Code Online (Sandbox Code Playgroud)

删除#,并使用s++,不++s

 <input type="button" value="Start" name="start" onlick="mf" />
Run Code Online (Sandbox Code Playgroud)

该代码有 2 个错误:onlickmfOnlick尚未得到所有浏览器的支持 (xD)。onclick代替使用。另外,包括参数,所以mf()

  • `onclick` 不是 `onlick` (6认同)
  • @nem035-谢谢,我刚刚复制了 OA 使用的内容。我没有检查这一点 (2认同)