4

さて、ネストされた div で構築されたナビゲーション システムがあり、メニュー div にマウスオーバーしたときにサブメニュー div (およびサブサブメニュー div) を表示し、サブメニュー div (およびサブ-サブメニュー div) マウスアウト時、またはより正確には、別のメニュー div にマウスオーバーしたとき。

最善の方法は何ですか?

これまでのところ、ここに私が持っているものがあります:

<script type="text/javascript">

$('.menu').mouseover(function(){ 
      $(this).children(".submenu").each(function(i){
        $(this).delay(1000).slideDown("slow");

$(this).mouseover(function(i){ 
$(this).children(".sub_submenu").each(function(i){
        $(this).delay(1000).slideDown("slow");

});
});
</script>


<div id="" class="menu">
menu1
<div id="" class="submenu">
submenu11
<div id="" class="sous_sousmenu">
sub_submenu111
</div>
<div id="" class="sub_submenu">
sub_submenu112
</div>
</div>
<div id="" class="submenu">
submenu12
</div>
</div>
<div id="" class="menu">
<a href="#">menu2</a>
<div id="" class="submenu">
sousmenu21
</div>
<div id="" class="submenu">
submenu22
<div id="" class="sub_submenu">
sub_submenu21
</div>
</div>
</div>

現在、適切なメニュー div にマウスを合わせると、すべてが機能しています (サブメニューとサブサブメニューが表示されます)。さて、別の .menu div のマウスオーバーを行うときに、すべての .submenu および .sub_submenu の slideUp を実行するようにスクリプトに指示する必要があるのは、どこ/いつ/どのようにすればよいですか?

ありがとう

4

1 に答える 1

3

このようなものを試してください(デモ):

HTML

<div id="" class="menu">
    menu1
    <div id="" class="submenu">
        submenu11
        <div id="" class="submenu">
            sub_submenu111
        </div>
        <div id="" class="submenu">
            sub_submenu112
        </div>
    </div>
    <div id="" class="submenu">
        submenu12
    </div>
</div>
<div id="" class="menu">
    <a href="#">menu2</a>
    <div id="" class="submenu">
        sousmenu21
    </div>
    <div id="" class="submenu">
        submenu22
        <div id="" class="submenu">
            sub_submenu21
        </div>
    </div>
</div>

脚本

$('.menu, .submenu').hover(function(){
    $(this).children('.submenu').stop(true, true).slideDown("slow");
}, function(){
    $(this).children('.submenu').stop(true, true).delay(1000).slideUp("slow");
});
于 2010-10-02T21:07:05.440 に答える