设置间隔和清除间隔。出事了
setInterval and clearInterval. Smth went wrong
所以,我已经用 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
我按下 "Hold" 按钮,效果很好。然后我单击 "Continue",这也很好用。然后我再次单击 "Hold"... 但它不起作用。
我非常感谢任何帮助和建议。
您忘记将新的计时器 ID 重新分配给 myVar
(我称之为 interval
):
var interval = setInterval(myTimer, 1000);
function myTimer() {
// ...
}
function myStopFunction() {
clearInterval(interval);
}
function myStartFunction() {
interval = setInterval(myTimer, 1000);
}
您的变量仍然包含旧间隔的 ID,这使得 clearInterval(myVar)
什么都不做。
使用这段代码,需要定义一个变量
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);
}
所以,我已经用 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 我按下 "Hold" 按钮,效果很好。然后我单击 "Continue",这也很好用。然后我再次单击 "Hold"... 但它不起作用。 我非常感谢任何帮助和建议。
您忘记将新的计时器 ID 重新分配给 myVar
(我称之为 interval
):
var interval = setInterval(myTimer, 1000);
function myTimer() {
// ...
}
function myStopFunction() {
clearInterval(interval);
}
function myStartFunction() {
interval = setInterval(myTimer, 1000);
}
您的变量仍然包含旧间隔的 ID,这使得 clearInterval(myVar)
什么都不做。
使用这段代码,需要定义一个变量
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);
}