我使用jQuery向用戶顯示一些通知,將使用jQuery append方法出現在屏幕上。一旦它們出現在屏幕上,我想等待5秒鐘,然後在將它從DOM中刪除之前慢慢開始淡出元素。它應該在5秒後纔開始褪色,並且不會立即開始消失。如果用戶懸停該元素,則應該將該元素淡入,然後當用戶移除懸停時,它應該再次開始淡出。jQuery緩慢淡入淡出元素間隔和淡入回來,如果用戶懸停
我有這個至今:
setTimeout(function()
{
$(".Notification").fadeOut("slow", function()
{
$(this).remove();
});
}, 5000);
所以這個淡出元素超時後,但我要如何使它所以當用戶將鼠標懸停的元素它消失早在當用戶刪除懸停。它會再次開始消失(注意:我們不需要再等待了,只要每次將鼠標懸停在元素上時都會將其褪色,除非它到達淡出的末尾並被刪除)
任何人都可以幫忙嗎?我認爲這只是一個簡單的例子,用一些額外的代碼封裝fadeOut部分,但我很掙扎,並希望得到一些幫助。
此外,他們可能會出現在頁面上的多個通知,所以他們都需要根據自己的外觀在屏幕上淡出,而不是同時淡出所有通知。
實際上,這是模仿使用Microsoft Outlook時屏幕右下角顯示的新郵箱。
謝謝
當我鼠標懸停它不會褪色元素回來? – Cameron
如果您需要在整個淡出後進行懸停時再次顯示它。你需要動畫不透明,而不是使用.fadeOut(),如'.animate({opacity:0},5000)'和'.animate({opacity:1},5000)' –
不,我不需要要做到這一點,因爲它將在DOM淡出後從DOM中刪除!但是當我徘徊它不會停止通知從淡出...怎麼回事?歡呼 – Cameron