我正在尝试检测快速点击按钮,并添加一个css类,如果用户快速点击按钮(每600毫秒超过1次点击),就会在对象上添加“img-carousel-div-animation”。 我尝试了setTimeout func,它删除了类,但是它没有用,因为它无论如何都运行了函数,但是我只需要在用户没有点击按钮600ms时运行。这是我试过的代码:
function slideLeft() {
if (isEnd == 0) {
imgCarouselDiv.addClass('img-carousel-div-animation');
animationTime = 100;
} else {
imgCarouselDiv.removeClass('img-carousel-div-animation');
animationTime = 540;
}
changeSlide(n, 0, 1);
n--;
}
function changeSlide(a, c, d) {
isEnd = 0;
setTimeout(function() {
isEnd = 1;
}, 540);
//rest of function
...
}
答案 0 :(得分:0)
删除该类不会从元素中删除click事件。如果元素仍然具有类,则可以检查每次单击,然后在超时时添加类。
答案 1 :(得分:0)
这称为 debouncing 。 David Walsh有a very nice post about the subject,它的工作方式非常简单,实际上并不依赖于jQuery。