Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 启动和停止计时器不工作_Javascript_Html_Timer - Fatal编程技术网

Javascript 启动和停止计时器不工作

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

我试图做一个计时器,当你点击顶部按钮时开始,当你点击底部按钮时停止并重置。这是我小提琴的链接

我的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()"/>
在“秒表()方法”中,替换
sec+
sec++

我还发现了一些拼写错误,JavaScript是一种区分大小写的语言,在“stopWatch()”方法中,Replace
sec+
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);