2

イベント ハンドラーをオンに戻す方法を理解するのに少し苦労しました。

アニメーションが終了する前に、関数が複数回実行されるのを止めようとしています。

ここにフィドルがあります:

http://jsfiddle.net/MkmnW/1/

これが私のコードです:

$("#buttons a").click(function () {

    $('a').off();

    //  Remove class from current active
    $("#buttons a").removeClass('active');

    //  Change class on clicked button
    $(this).addClass("active");

    // Hide Non-Clicked Content
    $(".main_content").fadeOut("fast");


    $("#content_container").slideUp("slow");

    //  Find Selected
    var selected = $(this).attr("href");

    //  Show Selected

    $("#content_container").slideDown("slow", function () {
        $(selected).fadeIn("slow");
    });

    return false;
});
4

2 に答える 2

0

$(element).unbind('click');クリックイベントのバインドを解除できます。他のすべての種類のイベントと同じです。

次に、それらを再度バインドできます$(element).bind('click', function(evt) { ... });

アニメーションの場合、次のことができます。$(element).click(function(evt) { $(this).stop().fadeOut("fast").whatever... });

于 2013-06-12T21:38:03.090 に答える