停止眨眼事件

发布于 2024-12-20 13:33:49 字数 347 浏览 0 评论 0原文

我需要的是:

单击按钮并使闪烁事件停止。

这就是我想做的:

var blink = function(){
    $('#blinker').toggle();
};
setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(blink); 
});

但不起作用,我错过了什么?

工作示例

谢谢!

what i need is:

click in a button and make the blink event stop.

this is how i'm trying to do:

var blink = function(){
    $('#blinker').toggle();
};
setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(blink); 
});

and dos not work, what i'm missing ?

Working example

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

撩动你心 2024-12-27 13:33:49

您需要做的就是:

blink_flag = setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(blink_flag); 
});

我建议添加:

$('#blinker').show();

在clearInterval之后。

All you need to do is:

blink_flag = setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(blink_flag); 
});

I'd recommend adding:

$('#blinker').show();

After the clearInterval.

暗地喜欢 2024-12-27 13:33:49

您正在尝试在该函数上使用 clearInterval 。这是行不通的,因为 clearInterval 将间隔的唯一 ID 作为参数。此参数将由 setInterval 函数返回。如果您将唯一 ID 存储在变量中并将其传递给 clearInterval,它将正常工作。试试这个:

var blink = function(){
    $('#blinker').toggle();
};
var blinkID = setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(blinkID); 
});

MDN

演示

You're trying to use clearInterval on the function. That won't work because clearInterval takes the interval's unique ID as a parameter. This parameter would be returned by the setInterval function. If you store the unique ID in a variable and pass that to clearInterval, it'll work fine. Try this:

var blink = function(){
    $('#blinker').toggle();
};
var blinkID = setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(blinkID); 
});

MDN

Demo

时光病人 2024-12-27 13:33:49

我认为您使用 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.
});

查看此链接了解更多信息。

也许您可以尝试使用这个演示

I think you are using clearInterval() in a wrong way. The parameter for the clearInterval() is an ID created by setInterval() and you are putting the function used by 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.
});

Check this link for more info.

Maybe you can try with this demo.

執念 2024-12-27 13:33:49

您试图停止闪烁切换功能,而实际上您应该将间隔保存在变量中并对该变量调用clearInterval,因为 clearInterval 需要 setInterval 对象的实例作为参数: https://developer.mozilla.org/en/DOM/window.clearTimeout< /a>

http://jsfiddle.net/HTRZk/22/

var blink = setInterval(function(){
    $('#blinker').toggle()}
, 800);

$("#stopBlink").click(function(){
   clearInterval(blink); 
});

另外,您需要确保当闪烁事件停止而文本隐藏时,您会再次显示该项目。在 .click 事件中添加:

$('#blinker').show();

You are trying to stop the blink toggle function, while you actually should save the interval in a variable and call clearInterval on that variable, as clearInterval expects an instance of the 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); 
});

Also, you will need to make sure that when the blinking event is being stopped while the text is hidden you show the item again. Within the .click event add:

$('#blinker').show();
半城柳色半声笛 2024-12-27 13:33:49
var blink = function(){
    $('#blinker').toggle();
};
var bl = setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(bl); 
});
var blink = function(){
    $('#blinker').toggle();
};
var bl = setInterval(blink, 800);

$("#stopBlink").click(function(){
   clearInterval(bl); 
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文