Jquery 队列中的单个函数被多次调用,而它应该被调用一次
最近我开发了一个自定义的基于jQuery的内容滑块,它与大多数其他滑块不同,在两个彼此不相邻的项目之间转换时不会显示多个飞过的图片。它工作得很好,只是在动画尚未完成时单击多个选择器会把一切都搞糟。我决定实现一种排队机制,它将延迟动画开始,直到另一个动画完成。然而,更多的问题等待着我。出于某种奇怪的原因,在退出队列时,队列函数被调用了五次,而不是一次。您可以在此处看到此操作:。动画处于活动状态时,单击任意幻灯片选择器。您现在应该看到,函数排队的时间显示了五次,尽管它应该只显示一次Jquery 队列中的单个函数被多次调用,而它应该被调用一次,jquery,animation,queue,slider,jquery-animate,Jquery,Animation,Queue,Slider,Jquery Animate,最近我开发了一个自定义的基于jQuery的内容滑块,它与大多数其他滑块不同,在两个彼此不相邻的项目之间转换时不会显示多个飞过的图片。它工作得很好,只是在动画尚未完成时单击多个选择器会把一切都搞糟。我决定实现一种排队机制,它将延迟动画开始,直到另一个动画完成。然而,更多的问题等待着我。出于某种奇怪的原因,在退出队列时,队列函数被调用了五次,而不是一次。您可以在此处看到此操作:。动画处于活动状态时,单击任意幻灯片选择器。您现在应该看到,函数排队的时间显示了五次,尽管它应该只显示一次 我的问题是:为什
我的问题是:为什么它会这样,有什么解决办法吗?结果表明,问题的根源在于这些代码行:
$('.selector').queue('queue', function () {
var d = new Date();
$('#result').append("<br/>" + "Queued at "+ d.getTime());
$('.selector')。队列('queue',函数(){
var d=新日期();
$('#result').append(“
”+”在“+d.getTime()处排队);
“selector”类上的查询返回六个元素。因此,它在每个元素的队列中放置一个函数,这导致函数被调用六次