2013-01-22 63 views
3

我試圖讓我的白色背景閃爍綠色。目前我有這個代碼,它變成綠色:動畫到另一個背景顏色,然後再回到

$("#modal_newmessage").animate({ 
    backgroundColor: "#8bed7e" 
}, 500); 

但是,我無法弄清楚如何使它在同一個動畫中再次變成白色。我該怎麼做呢?

回答

4

您可以從鏈的動畫另一個.animate()的通話將被在fx隊列中排隊。

$("#modal_newmessage").animate({ 
    backgroundColor: "#8bed7e" 
}, 500).animate({ 
    backgroundColor: "#fff" 
}, 500); 

還記得大多數jQuery函數是可鏈式的,無需調用$("#modal_newmessage")兩次。

See it here.

+1

如果你不希望有指定原來的顏色(我知道OP了,但是這可能是別人有用的)另一個選擇可能是包括jQuery的用戶界面,讓您的動畫addClass。您可以爲應用綠色背景的類設置動畫,然後使removeClass動畫返回原始。 – wetjosh

+0

@wetjosh的確,但這不是一個jQuery UI問題。當不需要爲簡單的任務增加很多開銷時,我們在這裏保持簡單;) – Alexander

+0

@wetjosh,這是真的!但你怎麼能實現它?把'className + =「突出顯示」;''.animate({...})'塊內部沒有任何東西...... –

1

這應該工作:

$("#modal_newmessage").animate({ 
    backgroundColor: "#8bed7e" 
}, 500, function() { 
    $("#modal_newmessage").animate({ backgroundColor: "#fff" }); 
}); 
1

試試這個:

$(function() { 

    $("#modal_newmessage").animate({ 
     backgroundColor: "#aa0000", 
     color: "#fff", 
     width: 500 
    }, 1000).animate({ 
     backgroundColor: "#fff", 
     color: "#000", 
     width: 240 
    }, 1000); 
}); 

注:

對於動畫的背景顏色,你需要jQuery ui彩色動畫。

<script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script> 
+0

這不是在一個動畫中來回動畫,這需要點擊返回 –

+0

是的,如果你想在'doc ready'上點擊就完成了,那麼這需要一些mods。 – Jai