2017-04-19 6 views
0

私はボタンを高速に検出しようとしています。ユーザーがボタンを高速にクリックするとオブジェクトに「img-carousel-div-animation」というCSSクラスを追加します(600msごとに1回以上のクリック)。 クラスを削除するsetTimeout funcを試しましたが、それは関数を実行するため動作しませんでしたが、ユーザーがボタンをクリックしない場合にのみ実行する必要があります。私が試したコードは次のとおりです。どのようにオブジェクトの高速クリックを検出するには?

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

ああ、私は540msを意味しました –

+0

Googleは「javascript debouncing」の答えを見つけます。 –

答えて

0

クラスを削除しても、要素からのクリックイベントは削除されません。要素にまだクラスがある場合は、各クリックを確認してから、クラスをタイムアウトに戻すことができます。

+0

多分もっと具体的なものでしょうか? –

+0

あなたがきれいに尋ねれば、あなたのために特定のものを見つけることができるGoogleと呼ばれるものがあります。 – Darkrum

+0

Googleが助けてくれるなら、私はあなたの答えを待つことはありません。 –

0

と呼ばれています。 David Walshはa very nice post about the subjectを持っていて、かなり単純な方法で動作します。実際にはjQueryに依存しません。

関連する問題