0

メニューに次のコードがあります。

$('div.content ul.menu li.expanded')
.mouseenter(function() {
    $('ul.menu li.expanded ul.menu li').slideUp(300);
    $(this).find('li.leaf').slideDown(300);
});

3行目は最初にすべてのサブメニューを非表示にし、4行目は優先サブメニューを再び表示しますこのコードをさまざまな状況で使用すると、説明が難しい問題が発生します。

私が必要とするのは、3 行目です: 関数内にある ('this') の下のものを除くすべてのサブメニューを非表示にします。

誰でもこれを達成する方法を知っていますか?

4

1 に答える 1

0

問題の HTML がいつ表示されないかを確認するのは困難ですが、次のようにするとうまくいく可能性があります。

$('div.content ul.menu li.expanded').mouseenter(function() {
   $(this).find('li.leaf').slideDown(300).siblings().slideUp(300); 
}); 
于 2011-08-23T13:49:29.940 に答える