我正在尝试使用setInterval来计算剩余时间,这是我的脚本:
var intervalID;
function StartTimer() {
var intervalID = setInterval(function () {
var settimmer = 100; // $('#timeleft').val();
var seconds = 0;
seconds++;
if (seconds >= 60) {
settimmer--;
seconds = 0;
$('#timeleft').val(settimmer);
}
}, 1000);
}
function StopTimer() {
clearInterval(intervalID);
}
<input type="text" size="8" id="timeleft" name="timeleft" value="100" />
<button onclick="StartTimer();">
start</button>
<button onclick="StopTimer();">
Stop</button>
我不工作,但是当我使用以下脚本时,它可以工作,但不知道如何阻止它:
var settimmer = 100;
var seconds = 0;
$(function () {
window.setInterval(function () {
seconds++;
if (seconds >= 60) {
settimmer--;
seconds = 0;
$('#timeleft').val(settimmer);
}
}, 1000);
});
提前致谢。
答案 0 :(得分:0)
您正在intervalID
函数中重新声明StartTimer()
,删除var
。
答案 1 :(得分:0)
问题是变量的范围。您在函数StartTimer中重新声明了intervalID,它将覆盖全局变量&#39; intervalID&#39;并且仅用于此功能。实际上,变量&#39; intervalID&#39;外面没有价值。 因此,当您使用clearInterval(intervalID)时,它当然不起作用。