最近我开发了一个基于jQuery的自定义内容滑块,与大多数其他滑块不同,它不会在两个不相邻的项目之间转换时显示多个图片。它工作得很好,除了在动画尚未完成时点击多个选择器将一切都搞砸了。我决定实现一个排队机制,可以延迟动画开始直到另一个动画结束。但是,等待我的问题更多。由于一些奇怪的原因,排队的函数在出列时被调用五次而不是一次。你可以在这里看到这个:http://jsfiddle.net/QLLKt/embedded/result/。动画处于活动状态时单击任何幻灯片选择器。您现在应该看到函数排队的时间正在显示五次,即使它应该只显示一次。
我的问题是:为什么它的表现如此,是否有任何治愈方法?
答案 0 :(得分:0)
原来问题的根源在于这些代码行:
$('.selector').queue('queue', function () {
var d = new Date();
$('#result').append("<br/>" + "Queued at "+ d.getTime());
对“selector”类的查询返回六个元素。因此,它将一个函数放在eache元素的队列中,这导致函数被调用六次。