2013-07-08 25 views
0
jQuery(document).ready(function(){ 
    jQuery('div').css('background','#fff').delay(12000).css('background','#000'); 
}); 

嗨隊友..我想知道爲什麼這不起作用..我想設置我的背景的持續時間,並在特定時間後更改其顏色。如何在jQuery中設置背景持續時間

+1

「延遲」僅影響動畫效果。 – Musa

+0

hi @musa ..你能推薦任何解決方案嗎? – g3rriascn

回答

5

你可以嘗試的setTimeout

jQuery(document).ready(function(){ 
    var divs = jQuery('div').css('background','#fff') 
    setTimeout(function(){ divs.css('background','#000'); }, 12000); 
}); 
+0

你做了配偶..謝謝你..:D – g3rriascn

+0

@ g3rriascn然後請將此設置爲接受的答案。 –

1

由於.delay()只能用jQuery的標準效果隊列或定製隊列的作品,你可能只是想用一個setTimeout()通話。

jQuery(document).ready(function(){ 
    jQuery('div').css('background','#fff') 
    setTimeout(function(){ jQuery('div').css('background','#000'); }, 12000); 
}); 

jsFiddle example(三秒超時看到更快)

+0

愚蠢,我們需要寫(我也這樣做)明顯的事情像'(與三秒鐘超時看到更快)':D –

+0

:))也謝謝@ jO8691提供jsfiddle ..大聲笑 – g3rriascn

3

你可以用純CSS做

http://jsfiddle.net/austinpray/Q8TVX/

body { 
    animation:color-change 5s 1; 
    -webkit-animation:color-change 5s 1; /* Safari and Chrome */ 
    animation-fill-mode: forwards; 
    -webkit-animation-fill-mode: forwards; 
} 

@keyframes color-change 
{ 
    0% {background:#fff;} 
    90% {background:#fff;} 
    100% {background:#000;} 
} 

@-webkit-keyframes color-change /* Safari and Chrome */ 
{ 
    0% {background:#fff;} 
    90% {background:#fff;} 
    100% {background:#000;} 
} 

您可以在動畫屬性更改爲得到你想要的效果。

http://caniuse.com/#feat=css-animation

+0

感謝您的幫助@奧斯汀祈禱..但我想考慮IE8 ..無論如何,這也有助於..謝謝:) – g3rriascn

0

jQuery的延遲功能將在隊列中執行後續的功能。所以,你要排隊吧:

$('div').css('background','#fff').delay(12000).queue(function(nxt){ 
    $(this).css('background','#000'); 
    nxt(); // continue the queue 
}); 

嘗試jsfiddle demo

希望這是對你有幫助。

相關問題