2011-02-12 193 views
1

如何彌補兩個jQuery的動畫效果無限循環:一個做$('body').animate({backgroundColor: '#000'}, 'slow');,之後,其他確實$('body').animate({backgroundColor: '#fff'}, 'slow');,然後重新開始:從#000爲「#FFF」。所有這一切都在無限循環中。如何彌補兩個jQuery動畫效果的無限循環?

+1

剛一說明:作爲一個設計師,無論如何,我建議您避免更改任何網頁正文的背景顏色的功能。它使用戶感到困惑和挫敗,並使文本在不同的地方和不同的時間難以閱讀。 – sscirrus 2011-02-12 04:43:14

回答

11

例子:http://jsfiddle.net/YS5DE/

var $body = $(document.body),cycle; 

(cycle = function() { 
    $body.animate({backgroundColor:"#000"}, 'slow') 
     .animate({backgroundColor:"#FFF"}, 'slow',cycle); 
})(); 

你可以在一些延遲,如果你想輕鬆添加:

例子:http://jsfiddle.net/YS5DE/1/

var $body = $(document.body),cycle; 

(cycle = function() { 
    $body.delay(1000) 
     .animate({backgroundColor:"#000"}, 'slow') 
     .delay(1000) 
     .animate({backgroundColor:"#FFF"}, 'slow',cycle); 
})(); 
+0

你可以解釋一下在var $ body – Hussein 2011-02-12 05:14:03