2012-04-14 46 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