我有以下代码用于控制翻转动画。通过正常点击一切正常。
然而,似乎快速双击导致2个事件通过布尔检查,这应该是为了防止这个问题。在console.log中,我希望第一个进程“开始运行”,第二个进程“已经运行” - 相反,两次点击似乎都会通过,并对后面的逻辑造成严重破坏。
有人会介意让我知道我做错了什么以及如何避免这个问题?
谢谢,
$('.item').each(function() {
var elem = $(this);
elem.data('running', false);
elem.bind("click",function(event){
event.preventDefault();
if (elem.data('running') == false) {
elem.data('running', true);
console.log('started running');
//do some stuff
elem.data('running', false);
} else {
console.log('already running');
}
})
});
答案 0 :(得分:0)
初始化动画后,您正在关闭“正在运行”,而不是在完成动画后。例如,我会这样做:
if (!elem.data('running')) {
elem.data('running', true);
console.log('started running');
elem.fadeOut('fast',function(){
elem.data('running', false);
});
}