一、语法
$(selector).delay(speed,queueName)
1、参数说明
参数 | 描述 |
speed | 可选。规定延迟的速度。 可能的值:
|
queueName | 可选。规定队列的名称。 默认是 "fx",标准效果队列。 |
2、备注
延时时间(duration参数)是以毫秒为单位的,数值越大,动画越慢,不是越快。
字符串 'fast' 和 'slow' 分别代表200和600毫秒的延时。
二、delay()实例
<p>动画效果:
<select id="animation">
<option value="1">动画1</option>
<option value="2">动画2</option>
<option value="3">动画3</option>
<option value="4">动画4</option>
</select>
<input id="exec" type="button" value="执行动画" >
</p>
<div id="myDiv" style="width:300px; height: 100px; background-color: #eee;">CodePlayer</div>
<script>
$("#exec").click( function(){
var v = $("#animation").val();
var $myDiv = $("#myDiv");
if(v == "1"){
$myDiv.slideUp( 1000 )
.delay( "slow" )
.fadeIn( 1500 );
}else if(v == "2"){
$myDiv.fadeOut( "slow" )
.delay( 2000 )
.slideDown( 1000 )
.animate( { height: "+=300" } );
}else if(v == "3"){
/**//*
注意:只有动画才会被加入效果队列中
以下代码实际上只有slideUp()、slideDown()会加入效果队列
delay()的延迟只对slideDown()起作用
show()在被调用时就立即执行了(此时slideUp的动画效果尚未执行结束)
以下代码的执行顺序时:
1、slideUp()被加入队列、开始执行,
2、show()也开始执行,它立即执行完毕,此时slideUp()的动画尚未执行结束
3、延迟2秒
4、执行SlideDown()
*/
$myDiv.slideUp( "slow" )
.delay( 2000 )
.show( ) // 它不是一个效果动画
.slideDown( );
}else if(v == "4"){
$myDiv.show()
.delay( 2000 )
// 在现有高度的基础上增加300px (如果原来是100px,增加后就是400px)
.animate( { height: "+=300px" }, 2000 )
.animate( { width: "50%" }, 1000 )
.animate( { width: "200px", height: "100px" }, 1000 );
}
} );
</script>
三、jquery中使用delay()注意事项
1、delay适用在jQuery动画效果和类似队列中
2、如果下一项是动画效果,则会执行延迟调用
3、如果不是效果动画,则它不会被加入效果队列中,因此该函数不会对它进行延迟调用。
4、如果要将不是动画效果加入延迟,则需要将它加入到queue队列中去。
参考资料: jquery delay() http://www.studyofnet.com/news/1030.html