jQuery(document).ready(function(){
jQuery('div').css('background','#fff').delay(12000).css('background','#000');
});
嗨伙计们..我想知道为什么这不起作用..我正在尝试设置背景的持续时间并在特定时间后更改其颜色。
jQuery(document).ready(function(){
jQuery('div').css('background','#fff').delay(12000).css('background','#000');
});
嗨伙计们..我想知道为什么这不起作用..我正在尝试设置背景的持续时间并在特定时间后更改其颜色。
你可以试试 setTimeout
jQuery(document).ready(function(){
var divs = jQuery('div').css('background','#fff')
setTimeout(function(){ divs.css('background','#000'); }, 12000);
});
你可以用纯 CSS 做到这一点
http://jsfiddle.net/austinpray/Q8TVX/
body {
animation:color-change 5s 1;
-webkit-animation:color-change 5s 1; /* Safari and Chrome */
animation-fill-mode: forwards;
-webkit-animation-fill-mode: forwards;
}
@keyframes color-change
{
0% {background:#fff;}
90% {background:#fff;}
100% {background:#000;}
}
@-webkit-keyframes color-change /* Safari and Chrome */
{
0% {background:#fff;}
90% {background:#fff;}
100% {background:#000;}
}
您可以更改动画属性以获得所需的效果。
由于.delay()
仅适用于 jQuery 的标准效果队列或自定义队列,您可能只想使用setTimeout()
调用。
jQuery(document).ready(function(){
jQuery('div').css('background','#fff')
setTimeout( function(){ jQuery('div').css('background','#000'); }, 12000);
});
jsFiddle 示例(三秒超时以更快地查看)
jQuery 延迟函数将执行队列中的后续函数。所以你必须排队:
$('div').css('background','#fff').delay(12000).queue(function(nxt){
$(this).css('background','#000');
nxt(); // continue the queue
});
希望这对你有帮助。