jQuery slideDown/slideUp问题

jQuery slideDown/slideUp问题,jquery,slidedown,slideup,Jquery,Slidedown,Slideup,我对slideDown/slideUp有点问题。我有一个菜单,里面有子菜单,我要做的是在菜单鼠标上方显示子菜单,我这样做: <script type="text/javascript"> $(document).ready(function(){ $("#menu>li>ul").hide(); $("ul#menu>li a").mouseover(function(){

我对slideDown/slideUp有点问题。我有一个菜单,里面有子菜单,我要做的是在菜单鼠标上方显示子菜单,我这样做:

<script type="text/javascript">
$(document).ready(function(){
        $("#menu>li>ul").hide();
        $("ul#menu>li a").mouseover(function(){                     
            $(this).next("ul").slideDown('1000');
            $(this).next("ul").addClass("current_submenu");     
        });
        $(".submenu>li").click(function(){                          
            $(".current_submenu").slideUp('1000');          
        }); 
});
</script>
<ul id="menu">
             <li><a class="album" id="beauty-fashion" href="#">Beauty/Fashion</a>
                <ul>
                    <li><a href="#">Beauty 1</a></li>
                </ul>
             </li>             
             <li><a class="album" id="covers" href="#">Covers</a></li>
             <li><a class="album" id="editorial" href="#">Editorial</a></li>
             <li><a class="album" id="advertising" href="#">Advertising</a></li>
             <li><a class="album" id="fx" href="#">FX</a></li>
             <li><a class="album" id="portraits" href="#">Portraits</a></li>
             <li><a class="album" id="taly" href="#">Taly</a></li>
             <li><a class="disabled" href="#" id="previousImage">Previous</a></li>
             <li><a href="#" id="toggleAnimation">Pause</a></li>
             <li><a class="disabled" href="#" id="nextImage">Next</a></li>
</ul>

$(文档).ready(函数(){
$(“#menu>li>ul”).hide();
$(“ul#menu>li a”).mouseover(function(){
$(this).next(“ul”).slideDown(“1000”);
$(this).next(“ul”).addClass(“当前_子菜单”);
});
$(“.submenu>li”)。单击(函数(){
$(“.current_子菜单”).slideUp('1000');
}); 
});
子菜单向下滑动,但当我从中移出鼠标时,它不会再次滑动。我做错了什么


非常感谢你们的帮助

您需要将一个函数绑定到
mouseout
事件以关闭菜单。

此javascript应该可以:

$(document).ready(function(){
    $("#menu>li>ul").hide();
    $("ul#menu>li").hover(function(){                     
        $(this).find("ul").slideDown(200).addClass("current_submenu");
    }, function(){
        $(this).find("ul").slideUp(200).removeClass("current_submenu");
    });
});
看一看,了解它是mouseenter和mouseleave的缩写


我还注意到您的slideUp和slideDown时间是作为字符串插入的。对于预定义的时间,它应该是一个整数或类似于“快”或“慢”的值。

您可以尝试以下脚本:

$(document).ready(function(){
  $("#menu>li>ul").hide();
  $("#menu>li>ul>li").click(function(){
      $(this).slideUp(1000).removeClass("submenu");  
  });
  $("ul#menu>li").hover(function(){                     
      $(this).find("ul").slideDown(1000).addClass("submenu");
  });  
});