我希望按钮悬停时闪烁停止。有什么想法?
function blinker() {
$( & #39;.blinking&# 39;).fadeOut(1000);
$( & #39;.blinking&# 39;).fadeIn(1000);
}
setInterval(blinker, 4000);
答案 0 :(得分:1)
您可以在间隔期间存储处理程序,并在按钮悬停时使用它来清除它:
function blinker() {
$('.blinking').fadeOut(1000);
$('.blinking').fadeIn(1000);
}
intervalHandler = setInterval(blinker, 4000);
$('.blinking').mouseover(function() {
clearInterval(intervalHandler);
intervalHandler = undefined;
});
如果您希望在按钮不再悬停时再次激活闪烁,您可以设置间隔:
$('.blinking').mouseout(function() {
if (!intervalHandler) {
intervalHandler = setInterval(blinker, 4000);
}
});
通过在清除间隔时将处理程序设置为undefined,您可以确保永远不会将间隔设置两次,这将阻止您清除它们并使闪烁持久。
由于@ Luger的评论,我编辑了我的答案。