2012-04-14 47 views
0

我有一个通知设置,它通过AJAX调用从数据库中获取通知。jQuery的UI效果和/或setInterval与'活'删除类

如果通知是新的,那么我想为通知包含元素添加一个jQuery UI“高亮”效果。

有很多这些不同的通知类型。

随着通知被加载,包含通知数据的元素在需要的地方给出一个新类“flashAlert”。然后触发下面的功能。

function startAlert() { // this function makes alerts flash 
    setInterval(function() { 
     $('.flashAlert').effect("highlight", {}, 2500); 
    }, 2500);  
}; 

工作的,然而,如果类“flashAlert”是从元件(由一个“清除通知”函数来完成)中除去,效果仍然应用。

我知道我可以在我的“清除通知”功能中调用clearInterval,但是我必须为每个通知设置一个单独的间隔功能,而不是像这样的单个功能。

我在这里看到了其他的问题,用户发现困难的效果工作的元素是由jQuery添加,但没有关于删除效果!

做一个页面重新加载清除它,但那不是我想要的!

回答

0
function startAlert(){ 
    $('.flashAlert').effect("highlight", {}, 2500, startAlert); 
} 

而当你想让它停在你的明确通知,只需做:

$('.flashAlert').removeClass("flashalert").stop(); 
+0

我喜欢这样的事实,我不需要了'setInterval'那里,重复闪烁的优良简化,但它仍然没有正确清理:-( – 2012-04-14 17:35:12

+0

@JamieHartnoll尝试'$('。flashAlert')。removeClass(“flashalert”)。stop(true,true);'然后 – Esailija 2012-04-14 17:38:09

+0

对不起,延迟!非常感谢,这是排序它我认为 – 2012-04-15 09:42:21