jquery each函数的用法? 下面的是循环LI,当前的LI下滑显示。同时想让其他的LI收起怎么做?

jquery each函数的用法? 下面的是循环LI,当前的LI下滑显示。同时想让其他的LI收起怎么做?
$("li.mainlevel").each(function(i){
$(this).mouseover(function(){
$(this).find('ul').slideDown("1000");
});
});

$(this).find('ul').slideUp("fast");我知道收起是这样写。但是一起怎么写??
谢谢楼下的回答。关键就是想鼠标离开之后下拉是显示的。但是当鼠标移动到另一个LI上面之前显得是下拉收回,显示当前的。

这其实不需要用到循环,而且你将鼠标经过事件放到循环里,思路的出发点就已经错了,你可以这么写,给你个思路.

默认宴州所有li的内容隐藏;


鼠标经过LI时,该li的内容显示.当鼠标经过下一个li的时候,正在显示的li隐藏,鼠标所在的li显示.当鼠标移除时,所有可见的li隐藏;


关键的jquery方法:visible 匹配可见的元素;



根据你问题的代码,我大致猜测可以这轿基么写:

<script>
$("li.mainlevel").hover(function(){
      $hideUl=$(this).parent().find('ul:visible').slideUp('1000');
     /*其实我觉得,上面这行代码可以省略掉,直接就是鼠标经过时当前显示;鼠标移出时,刚刚的隐藏,这样,无论你鼠标过到哪个,都是只显示一个晌帆蔽;*/
     $(this).find('ul').slideDown('1000');
},function(){
      $(this).find('ul').slideUp('1000');
})
</script>

$("盯培li.mainlevel").each(function(i){
$(this).mouseover(function(){
$("li.mainlevel").slideUp("fast");//先全部收起
$(this).find('ul').slideDown("1000");//展开拍行当凯贺唯前的
});
});
$("棚首胡链拦li.mainlevel"芹睁).hover(function(){
$("li.mainlevel").slideUp();
$(this).slideDown();
})
$(this).parent().find("div:visible").slideUp("fast");
$(this).find(".o2").slideDown("1000");

先把已经显示的戚差slideup掉,再举孙把当前高答皮的slideDown


← 上一篇: 下一篇: →