2011-12-15 126 views
1

可能重复:
How to loop a css background image with Jquery every few seconds?更改CSS颜色每秒

我不知道如何实现的颜色简单的“动漫”效果改变每一秒,如果有一个动画的动画方式可能会更好。

我刚才想是这样的:

$('.box').delay(1000).css("background","red"); 

而且它不会在所有的工作(延迟功能无法正常工作)..反正我需要像他们两个人:

$('.box').delay(1000).css("background","red"); 
$('.box').delay(1000).css("background","green"); 

让它变成红色 - >等一下变绿 - >再变红。

这可能吗?谢谢!

+0

http://stackoverflow.com/questions/1374867/how-to-loop-a-css-background-image-with-jquery-every-few-seconds < - 也许这个问题可以帮助吗? – andrewdotnich 2011-12-15 22:32:05

+4

非常喜庆。 – justis 2011-12-15 22:32:21

+0

jquery.animate可以做的颜色:http://jqueryui.com/demos/animate/ – Guillaume86 2011-12-15 22:35:28

回答

10
$(document).ready(function() { 
setInterval(function() { 
    $('body').animate({ backgroundColor: 'red' }, 300) 
    .animate({ backgroundColor: 'green' }, 300); 
    }, 1000); 

}); 

http://jsfiddle.net/theSifter/yR6jc/

3
setInterval(function() { 
    var box = $('.box'); 
    if (box.css('background-color') == 'red') { 
     box.css({'background-color':'green'}); 
    } 
    else { 
     box.css({'background-color':'red'}); 
    } 
}, 1000); 
2
<h1 id="ho">Ho ho ho!</h1> 
<h2 id="mc">Merry Christmas!</h2> 

<script> 
    var flag = false; 
    setInterval(function() { 
     flag = !flag; 
     $("#ho").css("background", flag ? "red" : "green"); 
     $("#mc").css("background", flag ? "green" : "red"); 
    }, 1000); 
</script>