我试图用无限循环来实现一个jQuery函数,用3种颜色来动画化身体背景。我不能想到一个漂亮干净的解决方案。
这样的东西
这样的东西
$(document).ready(function(){ $('body').animate({backgroundColor:'#ffcc00'},500,function(){ $('body').animate({backgroundColor:'#eeeeee'},function(){ $('body').animate({backgroundColor:'#3b5998'},500); }); }); });
任何想法?
解决方法
你可以消除嵌套,但解决方案有点胖:
var cols = "#ffcc00,#eeeeee,#3b5998".split(",") var cPos = 0 $(document).ready(function() { swapC() } function swapC() { $('body').animate({ backgroundColor:cols[cPos] },500) cPos++ if (cPos == cols.length) { cPos = 0 } window.setTimeout(function() { swapC() },500) }