未检测到jQuery编号

时间:2014-06-19 01:26:19

标签: jquery

我得到了这段代码,如果#button悬停,我会每隔3秒检查一次。如果是,则重置。 如果没有徘徊,它应该记录一条“太迟了!”的行。但事实并非如此。我认为它与if语句有关,它会检查数字。

var seconds = 3;
var timer;

$('#button').hover(function(){
  seconds = 3;
});

timer = setInterval(function(){
  --seconds;
  console.log(seconds);
}, 1000);

if (seconds == 0){
  console.log('Too late!');
} else {
  // do nothing
}

2 个答案:

答案 0 :(得分:1)

您的代码超出了区间功能。因此,当您的间隔函数在每秒后被调用时,外部代码只会被调用一次,而不会再被调用。你应该尝试这样的事情

var seconds = 3;
var timer;

$('#button').hover(function(){
  seconds = 3;
});

timer = setInterval(function(){
  --seconds;

 if (seconds == 0){
     alert('Too late!');
} else {
  // do nothing
}
}, 1000);

以下是操作中的代码Fiddle

答案 1 :(得分:0)

你太晚了"功能在您的计时器外运行。因此它只会运行一次,而不会再运行一次。

var seconds = 3;

setInterval(function(){
  --seconds;
    if (seconds == 0){
  alert('Too late!');
} 
  console.log(seconds);
}, 1000);

尝试类似的东西