与本地模拟实现方法的jQuery队列队列共享

与本地模拟实现方法的jQuery队列队列共享
队列()方法显示操作在匹配元素上执行函数队列。

排队和出队的主要过程:

将函数添加到带有队列的队列(通常是函数数组)
在函数数组的第一功能是取出列并执行(使用Shift()方法和执行)。
这也意味着,当将再次执行时,得到的是另一个函数。这也意味着,如果不执行队列,队列中的下一个函数不会被执行。

在执行动画方法的元素上有动画,jQuery也会将其添加到一个名为FX的函数队列中。为了使多个元素依次动画,我们必须手动设置队列。

在一个示例中,两个div依次向左移动:
复制代码代码如下所示:
DIV 1
DIV 2

var
(function) {$(#block1).Animate ({color: =blue;}}, aniCB),
(功能){ $(# 2)。动画({颜色:=红;} },anicb),
(功能){ $(#酒店)。动画({颜色:=黄色;} },anicb),
(功能){ $(# 2)。动画({颜色:=灰色;} },anicb),
(功能){ $(#酒店)。动画({颜色:=绿色;} },anicb),
函数(){警报(动画结尾)}
};
anicb =函数(){ var
$(document)。Dequeue(myanimation );
}
$(document)。队列(myanimation
/ / anicb();
我首先设置了一系列函数,这些函数是列需要依次执行的动画。
然后定义一个回调函数,以获取方法执行队列中的下一个函数
Then put the function array on the queue of myAnimation on document (you can choose any element, I just put the queue on document for convenience).
最后,我开始执行队列中的第一个函数。
这样做的好处是函数数组是线性展开的,并且增加和减少都非常方便。当你不想继续下一个动画(比如用户的按钮)时,你只需要清空那个队列。如果你想添加更多,你只需要加入队列。
复制代码代码如下所示:
空队列
$(document)。队列(myanimation
在最后添加一个新函数
$(document)。队列(myanimation,函数(){ alert(动画是真的结束了!);
这也可以应用于ajax和其他方法。如果需要一系列Ajax交互,每个Ajax都希望在最后一个Ajax结束之前启动。最原始的方法是使用回调函数之前,但这太麻烦了。你也可以使用队列添加一个队列和执行在每个Ajax回调出列。

jQuery动画动画队列的实现,下面的javascript模仿一个:
复制代码代码如下所示:
函数队列(){
这个;
这个;
}
queue.prototype = { {
队列:函数{
var =;
This.a.push(S);
this.hold();
返回此;
},
函数(){
var =;
ClearTimeout(,T);
这个T = setTimeout(){()函数(
console.log(开始队列!
Self.dequeue();
},0);
},
Dequeue:函数(){
var = this.a.shift(),自本;
如果({){
console.log(:+ S);
setTimeout(){()函数(
console.log(结束:+ S);
Self.dequeue();
},s);
}
}
};
var =新队列()。队列(500)。队列(200)。队列(400)。队列(1500)。队列(300)。队列(2000);
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部