Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Jquery 队列中的单个函数被多次调用,而它应该被调用一次_Jquery_Animation_Queue_Slider_Jquery Animate - Fatal编程技术网

Jquery 队列中的单个函数被多次调用,而它应该被调用一次

Jquery 队列中的单个函数被多次调用,而它应该被调用一次,jquery,animation,queue,slider,jquery-animate,Jquery,Animation,Queue,Slider,Jquery Animate,最近我开发了一个自定义的基于jQuery的内容滑块,它与大多数其他滑块不同,在两个彼此不相邻的项目之间转换时不会显示多个飞过的图片。它工作得很好,只是在动画尚未完成时单击多个选择器会把一切都搞糟。我决定实现一种排队机制,它将延迟动画开始,直到另一个动画完成。然而,更多的问题等待着我。出于某种奇怪的原因,在退出队列时,队列函数被调用了五次,而不是一次。您可以在此处看到此操作:。动画处于活动状态时,单击任意幻灯片选择器。您现在应该看到,函数排队的时间显示了五次,尽管它应该只显示一次 我的问题是:为什

最近我开发了一个自定义的基于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”类上的查询返回六个元素。因此,它在每个元素的队列中放置一个函数,这导致函数被调用六次