📅  最后修改于: 2023-12-03 14:43:16.510000             🧑  作者: Mango
delay()
方法是 jQuery
中的一个函数,用于在执行后续代码之前让 jQuery
对象中的元素暂停一段时间。
.delay( duration [, queueName ] )
duration
: 必须,表示暂停的毫秒数。queueName
: 可选,用于指定队列的名称。duration
参数表示要暂停的时间长度,可以是一个数字,也可以是一个字符串形式的数字。queueName
参数用于指定要添加延迟操作的队列的名称。如果未指定这个参数,delay()
方法会默认将延迟操作加入到动画队列(即默认队列)中。在一个 jQuery
动画队列中,我们可能会使用到一些特殊的效果函数,比如 slideToggle()
和 fadeIn()
等,如果我们想在这些函数之间增加一个暂停时间,就可以使用 delay()
方法来实现。
举个例子:我们希望在页面加载时,先将一个 div
元素淡出,接着暂停 2 秒,最后将它滑动向左隐藏。可以这样实现:
$(document).ready(function(){
$('#myDiv').fadeOut().delay(2000).slideUp();
});
delay()
方法只是将暂停操作添加到队列中,并不会停止执行代码的进行。delay()
方法只对队列中尚未执行的代码起作用。如果一个函数已经在队列中执行,你不能通过 delay()
方法来改变它的执行时间。delay()
方法对于普通的回调函数不起作用。如果你想要延迟执行一个回调函数,可以考虑使用 setTimeout()
方法。delay()
方法可以与 queue()
方法联合使用,通过指定不同的队列名称实现不同的效果。