0

ナビゲーションのサブメニューのスクリプトを作成します。サブメニューを開いたとき。サブメニューが表示され、マウスアウトすると表示されます。サブメニューは 300 の遅延幅で閉じられます。

しかし、私はスクリプトに問題があります。ナビゲーションには 8 つのサブメニューがあります。最初のサブメニューにカーソルを合わせたとき。このサブメニューは開いています。2 番目のサブメニューにカーソルを合わせると。私は2つのサブメニューを開いています。

新しいサブメニューを開いたとき。そして、別のサブメニューが開いています。もう一方のサブはすぐに閉じます。どうすれば作れますか?

どうもありがとう!

これは私のスクリプトです:

    $('.nav-main .container li').hover(function() {
    if ($(this).find('.submenu').length > 0) {
        $(this).addClass("hover");
        $(this).find('.submenu').show();
    }
}, function() {
    var object = $(this);
    setTimeout(function()
    {
        $(object).find('.submenu').hide();
        $(object).removeClass("hover");
    }, 300);
});
4

1 に答える 1

0

サブメニューを表示する前に、最初にすべてのサブメニューを非表示にすることができます。

if ($(this).find('.submenu').length > 0) {
        $(this).addClass("hover");
        $('.submenu').hide();//Here
        $(this).find('.submenu').show();
    }
于 2012-04-28T14:26:05.963 に答える