我需要的是:
单击按钮,使闪烁事件停止。
这就是我想要做的事情:
var blink = function(){
$('#blinker').toggle();
};
setInterval(blink, 800);
$("#stopBlink").click(function(){
clearInterval(blink);
});
并且dos不起作用,我缺少什么?
谢谢!
答案 0 :(得分:2)
您需要做的就是:
blink_flag = setInterval(blink, 800);
$("#stopBlink").click(function(){
clearInterval(blink_flag);
});
我建议添加:
$('#blinker').show();
clearInterval之后。
答案 1 :(得分:1)
我认为你以错误的方式使用clearInterval()
。 clearInterval()
的参数是由setInterval()
创建的ID,您将放置setInterval()
使用的函数。
var blink = function(){
$('#blinker').toggle();
};
var glbTimer = setInterval(blink, 800); //declare an ID created by `setInterval()`
$("#stopBlink").click(function(){
clearInterval(glbTimer); //clear the interval of the ID.
});
查看此link了解详情。
也许你可以试试这个demo。
答案 2 :(得分:1)
您正尝试在此功能上使用clearInterval
。这不起作用,因为clearInterval
将区间的唯一ID作为参数。此参数将由setInterval
函数返回。如果您将唯一ID存储在变量中并将其传递给clearInterval
,它将正常工作。试试这个:
var blink = function(){
$('#blinker').toggle();
};
var blinkID = setInterval(blink, 800);
$("#stopBlink").click(function(){
clearInterval(blinkID);
});
答案 3 :(得分:1)
您正在尝试停止闪烁切换功能,而您实际上应该在变量中保存间隔并在该变量上调用clearInterval,因为 clearInterval 需要 setInterval的实例 object as parameter:https://developer.mozilla.org/en/DOM/window.clearTimeout
http://jsfiddle.net/HTRZk/22/:
var blink = setInterval(function(){
$('#blinker').toggle()}
, 800);
$("#stopBlink").click(function(){
clearInterval(blink);
});
此外,您需要确保在文本隐藏时停止闪烁事件时再次显示该项目。在.click事件中添加:
$('#blinker').show();
答案 4 :(得分:0)
var blink = function(){
$('#blinker').toggle();
};
var bl = setInterval(blink, 800);
$("#stopBlink").click(function(){
clearInterval(bl);
});