我正在尝试创建一个简单的倒数计时器。它从输入的数字开始倒计时。
但是,我试图清除计数器到达0
时的间隔。目前它似乎承认if statement
,但不承认clearInterval()
。
http://jsfiddle.net/tmyie/cf3Hd/
$('.click').click(function () {
$('input').empty();
var rawAmount = $('input').val();
var cleanAmount = parseInt(rawAmount) + 1;
var timer = function () {
cleanAmount--;
if (cleanAmount == 0) {
clearInterval(timer);
}
$('p').text(cleanAmount);
};
setInterval(timer, 500);
})
答案 0 :(得分:1)
您没有将调用的返回值保存到setInterval
,这是需要传递给clearInterval
的值。传递计时器处理程序没有用。
var timer, timerHandler = function () {
cleanAmount--;
if (cleanAmount == 0) {
clearInterval(timer);
}
$('p').text(cleanAmount);
};
timer = setInterval(timerHandler, 500);