我想用jQuery做个纵向菜单 已经实现了滑动门效果 但是还有些小效果不清楚怎么实现
1:
当我单击 main_2的a标签时候 main_2下边的UL显示出来 但是我希望在单击它的时候 UL在收回去 该怎么实现。。
2单击首页的时候如何让 main_2的UL全部收缩<script>
$(function(){
$("ul:gt(0)").hide();
 $(".main_2>a").click(function() {
$(this).parent().parent().find("ul").hide();
var ulNode=$(this).next("ul");
ulNode.slideToggle("slow");
});
});
</script><ul>
<li class="main_1">
<a href="####" id="menu_1"><img src="img/b_1_03.png" width="22" height="17" align="middle"/>首页</a>
</li>
<li class="main_2">
<a href="####"><img src="img/b_2_03.png" width="18" height="20" align="middle"/>人员管理</a>
<ul>
<li><a href="####">售点管理</a></li>
<li><a href="####">申请数据管理</a></li>
<li><a href="####">售点访问频率设置</a></li>
<li><a href="####">片区业务员设定</a></li>
<li><a href="####">导入售点信息</a></li>
</ul>
</li>
<li class="main_2">
<a href="####"><img src="img/b_3_03.png" width="22" height="18" align="middle"/>报表统计</a>
<ul>
<li><a href="####">售点管理</a></li>
<li><a href="####">申请数据管理</a></li>
<li><a href="####">售点访问频率设置</a></li>
</ul>
</li>
</ul>也就是 第一下点击 main_2下的a标签是显示  第二次点击时候是隐藏
点击main_1的首页时候是 main_2的全部隐藏 
 因为是新手 所以不太明白 谢谢大家解答了

解决方案 »

  1.   

    提供思路  设一变量   var  a=false   a为false时为收缩   当点击时改变a的值为true  然后根据lz的聪明应该不难吧
      

  2.   

    当等于TRUE的时候 就无反应了
      

  3.   

    <script>
    $(function(){
        $("ul:gt(0)").hide();
        $(".main_2>a").each(function(){
           $(this).click(function() {
              var ulNode=$(this).next("ul");
              ulNode.slideToggle("slow");
           });
        });
         $(".main_1>a").click(function(){
            $(".main_2>ul").hide()
         });
    });
    </script>
      

  4.   

    其实 主要的是main2的问题了 $("ul:gt(0)").hide();
     $(".main_2>a").click(function() {
    var a=false;
    /**
    $(this).parent().parent().find("ul").hide();
    ulNode.slideUp("slow");
    ulNode.slideDown("slow");
    */
    var ulNode=$(this).next("ul");
    if(a==false)
    {
    ulNode.slideDown("slow");
    $(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
    $("#menu_1").css("background","none");
    a=true;
    return a;

    else{
    alert("aaa");
    ulNode.slideUp("slow");
    $(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
    a=false;
    alert(a);
    }
    });
    ELSE 语句没法执行。。
      

  5.   


     $(".main_2").toggle(open_UL, close_UL);
     function open_UL(){
     alert("open")
        $(this).find("ul").show();
     }
     function close_UL(){
        alert("close")
    $(this).find("ul").hide();
     }楼主你试试
      

  6.   

     $("ul:gt(0)").hide();
    var a=false;
             $(".main_2>a").click(function() {
                
                /**
                $(this).parent().parent().find("ul").hide();
                ulNode.slideUp("slow");
                ulNode.slideDown("slow");
                */
                var ulNode=$(this).next("ul");
                if(a==false)
                {
                    ulNode.slideDown("slow");
                    $(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
                    $("#menu_1").css("background","none");
                    a=true;
                    return a;
                } 
                else{
                    alert("aaa");
                    ulNode.slideUp("slow");
                    $(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
                    a=false;
                    alert(a);
                }
            });
      

  7.   

    your code is not right
    refer to floor 8