Javascript 启动和停止计时器不工作
我试图做一个计时器,当你点击顶部按钮时开始,当你点击底部按钮时停止并重置。这是我小提琴的链接 我的HTML:Javascript 启动和停止计时器不工作,javascript,html,timer,Javascript,Html,Timer,我试图做一个计时器,当你点击顶部按钮时开始,当你点击底部按钮时停止并重置。这是我小提琴的链接 我的HTML: <input type="submit" id="start-clock" value="Click here to start timer" name="submit" onClick="startclock()"/> <div id="timer">0</div> <input type="submit" id="stop-clock" va
<input type="submit" id="start-clock" value="Click here to start timer" name="submit" onClick="startclock()"/>
<div id="timer">0</div>
<input type="submit" id="stop-clock" value="Click here to stop and reset the timer" name="submit" onClick="stopclock()"/>
在“秒表()方法”中,替换sec+代码>与sec++代码>
我还发现了一些拼写错误,JavaScript是一种区分大小写的语言,在“stopWatch()”方法中,Replacesec+代码>与sec++代码>
我还发现了一些拼写错误,JavaScript是一种区分大小写的语言好的,你有很多拼写错误
首先,sec+代码>不执行任何操作。它应该是sec++代码>
其次,您的onClick
属性指向startclock()
和stopclock()
,实际上应该是startclock()
和stopclock()
。函数名在JavaScript中区分大小写
第三,单击的变量未定义,因此startClock()
实际上不会执行任何操作。添加var clicked=false代码>在函数声明之前
最后但并非最不重要的一点是,sec
是未定义的,因此增加它没有意义。添加var sec=0代码>在函数声明之前
HTML应该看起来像
<input type="submit" id="start-clock" value="Click here to start timer" name="submit" onClick="startClock()"/>
<div id="timer">0</div>
<input type="submit" id="stop-clock" value="Click here to stop and reset the timer" name="submit" onClick="stopClock()"/>
var clicked = false;
var sec = 0;
function startClock() {
if (clicked === false) {
clock = setInterval("stopWatch()", 1000);
clicked = true;
}
else if (clicked === true) {
}
}
function stopWatch() {
sec++;
document.getElementById("timer").innerHTML = sec;
}
function stopClock() {
window.clearInterval(clock);
sec = 0;
document.getElementById("timer").innerHTML=0;
clicked = false;
}
下面是一个处理上述更改的工作界面:好的,您有很多打字错误
首先,sec+代码>不执行任何操作。它应该是sec++代码>
其次,您的onClick
属性指向startclock()
和stopclock()
,实际上应该是startclock()
和stopclock()
。函数名在JavaScript中区分大小写
第三,单击的变量未定义,因此startClock()
实际上不会执行任何操作。添加var clicked=false代码>在函数声明之前
最后但并非最不重要的一点是,sec
是未定义的,因此增加它没有意义。添加var sec=0代码>在函数声明之前
HTML应该看起来像
<input type="submit" id="start-clock" value="Click here to start timer" name="submit" onClick="startClock()"/>
<div id="timer">0</div>
<input type="submit" id="stop-clock" value="Click here to stop and reset the timer" name="submit" onClick="stopClock()"/>
var clicked = false;
var sec = 0;
function startClock() {
if (clicked === false) {
clock = setInterval("stopWatch()", 1000);
clicked = true;
}
else if (clicked === true) {
}
}
function stopWatch() {
sec++;
document.getElementById("timer").innerHTML = sec;
}
function stopClock() {
window.clearInterval(clock);
sec = 0;
document.getElementById("timer").innerHTML=0;
clicked = false;
}
下面是对上述更改的处理:我对dom和js做了一些更改
HTML
看看我对dom和js做了一些更改
HTML
看一看试试这个:
这是我使用过的最好的,如果需要,您可以进行相应的小改动。试试这个:
这是我用过的最好的,如果需要的话,你可以做一些相应的修改。你的小提琴上有这么多的打字错误。修复你的打字错误似乎很有效:(fiddle需要设置为执行为无换行
,这样JS是全局的,HTML按钮可以访问函数,HTML按钮称为错误函数-JS中的内容区分大小写,sec++
需要sec++
,变量应该/需要定义)。我注意到的第一件事是,它应该是sec++;
而不是sec++;
在stopWatch
功能中。你的小提琴中有这么多的打字错误。修复你的打字错误,似乎很有效:(fiddle需要设置为执行为无换行
,这样JS是全局的,HTML按钮可以访问函数,HTML按钮称为错误函数-JS中的内容区分大小写,sec++
需要sec++
,变量应该/需要定义)。我注意到的第一件事是,它应该是sec++;
而不是sec++;
在stopWatch
函数中。您没有提到您将小提琴改为以No wrap-in
运行。如果您不这样做,您的更改将无关紧要。您没有提到您将小提琴改为以No wrap-in
运行。如果您不这样做如果不这样做,您所做的更改将无关紧要请在此处添加您的答案,链接可能会及时变得不可用。请在此处添加您的答案,链接可能会及时变得不可用。
var clock;
var sec = 0;
document.getElementById("start-clock").addEventListener("click",function(){
clock = setInterval(stopWatch,1000);
},false);
function stopWatch() {
sec++;
document.getElementById("timer").innerHTML = sec;
}
document.getElementById("stop-clock").addEventListener("click",function(){
window.clearInterval(clock);
sec = 0;
document.getElementById("timer").innerHTML=sec;
},false);