所以,我用setInterval初始化了我的var。 我想停下来开始吧。我希望能够经常控制这种控制。 这是代码
<script>
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function myStopFunction() {
clearInterval(myVar);
}
function myStartFunction() {
setInterval(myTimer, 1000);
//setInterval(myVar, 1000);
}
</script>
jsfiddle.net/adeneo/g8jmccfu/1 我按下“保持”按钮,它的效果很好。然后我点击“继续”,这也很好用。然后我再次单击“保持”...它不起作用。 我想感谢任何帮助和任何建议。
答案 0 :(得分:3)
您忘了将新的计时器ID重新分配给myVar
(我称之为interval
):
var interval = setInterval(myTimer, 1000);
function myTimer() {
// ...
}
function myStopFunction() {
clearInterval(interval);
}
function myStartFunction() {
interval = setInterval(myTimer, 1000);
}
您的变量仍然包含旧间隔的ID,这使clearInterval(myVar)
不执行任何操作。
答案 1 :(得分:0)
使用此代码,您需要定义变量
var myVar;
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function myStartFunction() {
myVar = setInterval(myTimer, 1000);
}
myStartFunction();
function myStopFunction() {
clearInterval(myVar);
}