📅  最后修改于: 2023-12-03 15:32:12.438000             🧑  作者: Mango
queue() 是 jQuery 的队列操作方法,用于管理异步操作和动画。通过将函数添加到队列中,可以确保它们按顺序依次执行。在执行队列之前还可以对队列进行操作,如添加、删除、清空、暂停等。
$(selector).queue([queueName],newQueue)
$("button").click(function(){
$("div").slideUp(2000);
$("div").queue(function(){
$(this).addClass("red");
$(this).dequeue();
});
$("div").animate({
opacity: '0.5',
height: '150px',
width: '150px'
});
});
以上示例的作用:
<div>
元素通过滑动向上隐藏,动画时间为 2 秒。queue()
方法将匿名函数添加到默认的 fx
队列中,该函数首先给 <div>
元素添加一个类 .red
,然后调用 dequeue()
函数移除该函数并推进队列。animate()
函数在默认的 fx
队列中添加另一个动画效果。结果是,<div>
元素首先向上滑动隐藏,然后添加类 .red
,最后执行 animate()
函数的动画效果。
$("#test")
.queue(function() {
$(this).addClass("newcolor");
$(this).dequeue();
})
.animate({
left: '+=200'
})
.queue(function() {
$(this).removeClass("newcolor");
$(this).dequeue();
})
.slideUp();
该示例初始化了一个队列,首先将新的颜色应用于元素,然后调用 dequeue()
函数执行下一项。
$("#test").queue("fx", []).stop();
该示例清空名为 fx
的元素队列,并立即停止目前正在进行的队列部分。
$("button.pause").click(function() {
$("div").queue("fx", function(next) {
$(this).delay(1000).fadeIn(500, next);
});
$("div").queue("fx", function(next) {
$(this).delay(1000).fadeOut(500, next);
});
$("div").dequeue("fx");
});
$("button.resume").click(function() {
$("div").dequeue("fx");
});
该示例初始化一个名为 fx
的队列,将淡入、延迟 1 秒,淡出、延迟 1 秒的动画添加到队列中。单击暂停按钮后,队列被暂停。单击恢复按钮后,队列被重新开始。
queue()
方法在 jQuery 中是一个非常强大的功能。通过该方法,您可以轻松管理异步操作和动画。除了示例中描述的一些操作外,它还可以用于队列交互、回调函数、延迟等场景。我们希望您通过这些示例能够了解 jQuery 的 queue()
方法的强大功能。