Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery中的多个队列_Javascript_Jquery_Animation_Queue - Fatal编程技术网

Javascript jQuery中的多个队列

Javascript jQuery中的多个队列,javascript,jquery,animation,queue,Javascript,Jquery,Animation,Queue,我在jQuery中使用多个队列时遇到问题。考虑下面的例子: $('#example').click(function() { $(this).delay(1000, 'fx2').queue('fx2', function() { alert('here'); }); }); 警报永远不会发出。为什么?试试下面的例子。它似乎能起作用,做你想做的事。试试下面的例子。它似乎可以正常工作并执行您想要的操作。在自定义队列上调用延迟或任何其他动画时,您似乎还需要首先使用 调用.deque

我在jQuery中使用多个队列时遇到问题。考虑下面的例子:

$('#example').click(function() {
  $(this).delay(1000, 'fx2').queue('fx2', function() {
    alert('here');
  });
});
警报永远不会发出。为什么?

试试下面的例子。它似乎能起作用,做你想做的事。

试试下面的例子。它似乎可以正常工作并执行您想要的操作。

在自定义队列上调用延迟或任何其他动画时,您似乎还需要首先使用

调用.dequeue时,队列上的下一个函数将从队列中删除,然后执行。此函数应依次直接或间接地调用.dequeue,以便序列可以继续

请注意,队列上的回调接收一个函数作为其第一个参数。这是您希望在动画完成时调用的函数,以便可以执行队列中的下一项

jQuery代码在以下位置处理“自动启动”fx队列:

在自定义队列上调用延迟或任何其他动画时,似乎还需要首先使用

调用.dequeue时,队列上的下一个函数将从队列中删除,然后执行。此函数应依次直接或间接地调用.dequeue,以便序列可以继续

请注意,队列上的回调接收一个函数作为其第一个参数。这是您希望在动画完成时调用的函数,以便可以执行队列中的下一项

jQuery代码在以下位置处理“自动启动”fx队列:


点击处理程序是否执行?点击处理程序是否执行?除非按照OP的要求使用fx队列而不是fx2队列。-另外,在SO链接中包含实际代码还是值得的,而不是将实际答案推送到jsFiddle/jsbinAlex,因为您完全没有抓住我问题的重点。我不想像你的工作示例那样使用标准的fx队列。除了使用fx队列,而不是OP想要的fx2队列。-另外,在SO链接中包含实际代码还是值得的,而不是将实际答案推送到jsFiddle/jsbinAlex,因为您完全没有抓住我问题的重点。我不想像您的工作示例那样使用标准的fx队列。一种更简单的方法是函数n{alert'here';n;}:+1-尽管没有$this代码似乎可以正常工作。将'fx2'出列;在回调中。有必要吗?对于自动开始注释,似乎必须调用链式出列?+1,但我仍然使用提供的下一个函数作为您正在排队的回调的参数,更简洁:它可以工作,但是,除非您添加dequeue或将第一个参数作为Nick调用到队列回调函数中,否则它不会在队列中继续下去suggested@Nick领巾-更新,同意-更干净;一种更简单的方法是函数n{alert'here';n;}:+1-尽管代码在没有$this的情况下似乎可以正常工作;在回调中。有必要吗?对于自动开始注释,似乎必须调用链式出列?+1,但我仍然使用提供的下一个函数作为您正在排队的回调的参数,更简洁:它可以工作,但是,除非您添加dequeue或将第一个参数作为Nick调用到队列回调函数中,否则它不会在队列中继续下去suggested@Nick领巾-更新,同意-更干净;
$('#example').click(function() {
  $(this).delay(1000, 'fx2').queue('fx2', function(next) {
    alert('here');
    // start the next anim in the queue...
    next();
  }).dequeue('fx2');
});
if ( type === "fx" && queue[0] !== "inprogress" ) {
  jQuery.dequeue( this, type );
}