0

実例はこちら

私の問題は何ですか:

  • サブメニューからマイナス記号の上にマウスを移動すると、サブメニューが再びフェードインします(これは発生しないはずです)
  • マウスをプラス記号の上または左に動かしてメニューをサブメニューの外に置いた場合、サブメニューはフェードアウトしません

z-indexこれらの問題は、プラス記号とサブメニューを交換することで管理できます。しかし、マイナス記号は、表示したいスタイルで表示されません(半透明のサブメニューの後ろにあるため)。

関連するJSコードは次のとおりです。

$(document).ready(function() {
    if ($(".nav").length) {
        $(".nav ul ul").css({ opacity: 0.9 }).mouseleave(function(e) {
            e.stopPropagation();
            $(this).fadeOut().parent().prev().children("div").html("+").css({ lineHeight: "30px", paddingBottom: 0 });
        });
        $(".nav > ul").find("li:first").each(function() {
            $(this).append($("<div>").html("+").mouseenter(function(e) {
                e.stopPropagation();
                $(this).html("&ndash;").css({ lineHeight: "26px", paddingBottom: "4px" }).parent().next().children("ul").fadeIn();
            }));
        });
    }
});
4

1 に答える 1

1

ドロップダウンメニューのulは、意味的にはドロップダウンボタンの一部である必要があります。このようにすると、ドロップダウン'ボタン'の子になり、これで問題が解決すると思います。

編集:つまり、ドロップダウン<ul>は兄弟ではなく、+/-ボタンの子である必要があります。

于 2012-07-29T15:40:37.120 に答える