2011-05-31 6 views
0

6つのイメージボタンに関連付けられた「クリック」イベントがあります。現在、1をクリックすると他の5をクリックすることができます。他の5つのクリックイベントを一時的に削除することはできますか?私はそれぞれのアニメーションを持っていますが、アニメーションの実行中に複数回クリックすると、アニメーションが正しく機能しなくなります。jQuery - クリックイベントをバインド/アンバインドする

答えて

0

アニメーションが完了したときにハンドラをアンバインドして再バインドするのではなく、実行状態を保存して、clickコールバックチェックでその理由を確認するだけです。アニメーションが完了したら、状態をリセットします。

var running = false; 

$('.button').click(function() { 
    if(running) { 
     return; 
    } 
    running = true; 

    ... 

    $(this).animate(..., function() { 
     running = false; 
    }); 

    ... 
}); 
+0

グレート。私はそれを考えていましたが、私は正確な実装を知らなかった。素晴らしい作品。早速のご返事ありがとうございます。次のように – TexasT

+0

ただ、誰のために、実装が行く:$( "ul.accordion李:最初の")。:、 \t {キュー:偽、期間:1000、 \t \t( \t { "0PX" 幅を}アニメーション完全:関数() \t \t {=偽 \t \t \t closeAnimationIsRunning; \t \t}、 \t \tステップ:()関数 \t \t { \t \t} \t} ); – TexasT

関連する問題