0

以下のコードは、1 つの条件を除いてうまく機能します。ドキュメントの準備が整う前にユーザーが要素にカーソルを合わせていると、slideToggle が同期しなくなります (または反転します)。

その結果、 #logged_in_nav がマウスアウトで表示され、ホバーするとボックスが消えます。これを修正する簡単な方法は何ですか?

   $("#logged_in_box").hover(function(){
            $("#logged_in_nav").stop(true, true).slideToggle("fast");
            $(this).addClass("logged_in_box_hover");
        }, // hover over
        function() {
            $("#logged_in_nav").stop(true, true).slideToggle("fast");
            $(this).removeClass("logged_in_box_hover");
        } // hover out
    ); // hover
4

1 に答える 1

3

使用しないでくださいslideToggle。代わりに ( slideDown()docs)slideUp()(docs) を使用して、方向が明示的にイベント タイプに関連付けられるようにします。

$("#logged_in_box").hover(function(){
        $("#logged_in_nav").stop(true, true).slideDown("fast");
        $(this).addClass("logged_in_box_hover");
    }, // hover over
    function() {
        $("#logged_in_nav").stop(true, true).slideUp("fast");
        $(this).removeClass("logged_in_box_hover");
    } // hover out
); // hover
于 2011-02-09T01:30:20.853 に答える