我正在尝试在两种颜色之间制作css背景闪光。最好的解决方案似乎是使用类似问题上显示的递归函数:
(function pulse(){
$('#my_div').delay(100).css("background-color","blue").delay(100).css("background-color","red").delay(100).fadeIn('slow',pulse);
})();
http://jsfiddle.net/bSWMC/223/
我似乎无法获得背景切换颜色。这里可能有一个非常明显的答案,我是jQuery的新手!
非常感谢你的帮助, 杰里米
答案 0 :(得分:0)
我只为每种颜色创建一个两个css类,然后使用jquery函数toggleClass并给出两个css类的名称,即。
$(div).toggleClass('class1 class2')
您可能还需要使用setInterval来设置运行toggleClass的时间。这样的事情(http://jsfiddle.net/Eyq5x/31/)
<div id="me" class='yellow'></div>
div
{
height:50px;
width:50px;
}
.yellow
{
background-color:yellow;
}
.red
{
background-color:red;
}
$(document).ready(function(){
setInterval(
function(){
$('#me').toggleClass('yellow red');
},1000);
});
答案 1 :(得分:0)
使用seTimeout
的另一种可行方式,如上面指出.delay
的@DhirajBodicherla不适用于.css
。由于jQuery为颜色返回rgb
,但.toggleClass
可能是更好的选择。
function pulse(){
var div = $('#my_div');
if(div.css("background-color")=="rgb(255, 0, 0)"){
div.css("background-color","blue");
}else{
div.css("background-color","red");
}
setTimeout(pulse,100);
}
pulse();
的 Live Demo 强>
答案 2 :(得分:0)
我是这样做的 - &gt; http://jsfiddle.net/joplomacedo/bSWMC/229/
我会粘贴下面的代码:
JS / jquery的:
(function pulse() {
$('#my_div').css('background-color', 'red');
setTimeout(function() {
$('#my_div').css('background-color', 'green');
}, 2000);
setTimeout(function() {
$('#my_div').css('background-color', 'blue');
}, 4000);
setTimeout(pulse, 6000);
})();
的CSS:
#my_div {
height:60px;
width:60px;
background-color:red;
-webkit-transition: 0.5s;
transition: 0.5s;
}