我制作的转盘有问题。它具有一个位于容器内的元素,这些元素在单击带有moveCarouselRight类的按钮时会按可见容器的大小向左移动。
我的问题是,当用户单击得太快(即双击)时,动画似乎会触发两次,这意味着元素没有正确地适合容器,就好像第一个“向左”操作没有完成一样。
如您所见,我尝试使用'disabled'标志修复此问题,但似乎第二个click事件在第一个事件的js到达该行代码之前就触发了。
var disabled = false;
$('.moveCarouselRight').on('click', function() {
if (!disabled) {
disabled = true;
//change css property 'left' depending on container size
disabled = false;
}
});
链接到jsFiddle:
jsfiddle.net/6TPcT/5
最佳答案
用这个:
JS
$(".moveCarouselRight").dblclick(function(event){
event.preventDefault();
});
要么
$(".moveCarouselRight").dblclick(function(event){
return false;
});
要么
$(".moveCarouselRight").one("click", function(event) {
//do something
});
链接:http://api.jquery.com/one/
关于javascript - 轮播动画事件发行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20472405/