2011-02-12 83 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