1

OK、私はこのスレッドをチェックしました:

jQuery でクリック イベントが複数回トリガーされるのを防ぐ

  • 説明どおりにイベントをバインド解除/再バインドしようとしましたが、役に立ちませんでした。私は基本的に、次/前のボタンを備えたスライダーギャラリーを持っています。アニメーションの実行中に次のボタンがクリックされないようにしたい。

    prev = $("#portfolio_nav_prev");
    next = $("#portfolio_nav_next");
    
    function nextAnim(){
        //remove handler
        next.unbind();
    
        gallery_frame.animate({scrollLeft:targetPos}, 300, 'easeInOutQuart',function(){next.bind(nextAnim)});
        return false;
        }
    

何か案は?

4

1 に答える 1

0

これが私が最終的に使用した解決策です-問題は要素がアンカーであったため、クリックアニメーションのバインドを解除すると、ページから離れて移動しようとしたため、アニメーションが壊れました.

そのため、イベントのバインドを解除し、クリックをバインドして false を返すようにしました。

next.unbind();
next.click(function(){return false;})

次に、アニメーション コールバックで同じことを行いましたが、アニメーションにバインドし直しました。

gallery_frame.animate({scrollLeft:targetPos}, 300, 'easeInOutQuart',
function()next.unbind();next.bind('click',nextAnim)});

ただし、本当の解決策は、最初に非アンカー要素から次/前のボタンを作成することだと思います。

于 2009-10-16T10:40:06.683 に答える