1

私はこのメニューを持っています: http://tabletest.orgfree.com/

私はこの機能を使用します:

function mainMenu(){
            (function($){

                //cache nav
                var nav = $("#nav");

                //add indicator and hovers to submenu parents
                nav.find("li").each(function() {
                    if ($(this).find("ul").length > 0) {
                        //$("<span>").text("^").appendTo($(this).children(":first"));
                        //show subnav on hover
                        $(this).mouseenter(function() {
                            $(this).find("ul").stop(true, true).slideDown();
                        });
                        //hide submenus on exit
                        $(this).mouseleave(function() {
                        $(this).find("ul").stop(true, true).slideUp();
                        //alert("this is an alert!");
                        });
                    }
                });
            })(jQuery);
            };

slideDown はうまく機能しますが、slideUp は機能しません。誰かがこれを手伝ってくれれば、理由がわかりません。

ありがとう。

4

1 に答える 1

3

それはあなたのCSSにあります。メニューは非表示になります。'左:-999em;'を削除します #nav li ulからの宣言:

#nav li ul {
    position: absolute;
    left: -999em; <--- REMOVE THIS
    height: auto;
    width: 14.4em;
    font-weight: normal;
    margin: 0;
}

また、インラインスタイルから削除します。

<ul style="left:-999em" id="matrix">

正しく機能していることを確認してください:http://jsfiddle.net/c_kick/tsLPT/1/

于 2012-07-17T08:20:07.447 に答える