【发布时间】:2013-01-07 21:11:16
【问题描述】:
我正在做一些长时间的轮询。当某个陈述为真时,我有一个让按钮闪烁的功能。这里是:
function blinking(object, x) {
console.log(x);
if(x>0){
var existing_timer = object.data('clock');
if (existing_timer){
clearInterval(existing_timer);
}
timer = setInterval(blink, 10);
function blink() {
object.fadeOut(400, function() {
object.fadeIn(400);
});
}
}
}
现在.. 请注意计时器设置为“计时器”。当有人做了一些使语句错误的事情(使 x = 0)时,我希望计时器在看到 x = 0 时停止让按钮闪烁。这听起来很简单,但我已经尝试了所有方法哈。
我一直在研究和尝试不同的东西,但它似乎不起作用。
【问题讨论】:
-
如果
x等于0,您的if语句将返回false 并跳过整个逻辑块。 -
timer怎么会停下来?您在existing_timer上调用clearInterval,而不是timer。此外,blink是您的重复函数,但明确发生在blinking中,它只会被调用一次。 -
您只查询一次
x值,而不是在每个闪烁间隔。 -
我现在注意到了..让我看看我是否可以纠正自己
-
排队两个动画 - 每个持续 400 毫秒 - 每 10 毫秒是一个非常非常糟糕的主意。
标签: javascript jquery setinterval long-polling