jq无限极下拉菜单和点击展开菜单

一、html部分

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link type="text/css" rel="stylesheet" href="menu.css" />  
    <script type="text/javascript" src="jquery-2.1.3.min.js"></script>  
    <script type="text/javascript" src="menu.js"></script> 
</head>
<body>  
        <ul>  
            <li class="main">  
                    <a href="#">菜单项1</a>  
                <ul style="display:none;">  
                    <li>  
                        <a href="#">子菜单项11</a>  
                    </li>  
                    <li>  
                        <a href="#">子菜单项12</a>  
                    </li>  
                </ul>  
            </li>  
            <li class="main">  
                <a href="#">菜单项2</a>  
                <ul>  
                    <li>  
                        <a href="#">子菜单项21</a>  
                    </li>  
                    <li>  
                        <a href="#">子菜单项22</a>  
                    </li>  
                </ul>  
            </li>  
            <li class="main">  
                <a href="#">菜单项3</a>  
                <ul>  
                    <li>  
                    <a href="#">子菜单项31</a>  
                    </li>  
                    <li>  
                        <a href="#">子菜单项32</a>  
                    </li>  
                </ul>  
            </li>  
        </ul>  
          
        <br/>  
        <ul>  
            <li class="hmain">  
                <a href="#">菜单项1</a>  
                <ul>  
                    <li>  
                        <a href="#">子菜单项11</a>  
                    </li>  
                    <li>  
                        <a href="#">子菜单项12</a>  
                    </li>  
                </ul>  
            </li>  
            <li class="hmain">  
                <a href="#">菜单项2</a>  
                <ul>  
                    <li>  
                        <a href="#">子菜单项21</a>  
                    </li>  
                    <li>  
                        <a href="#">子菜单项22</a>  
                    </li>  
                </ul>  
            </li>  
            <li class="hmain">  
                <a href="#">菜单项3</a>  
                <ul>  
                    <li>  
                    <a href="#">子菜单项31</a>  
                    </li>  
                    <li>  
                        <a href="#">子菜单项32</a>  
                    </li>  
                </ul>  
            </li>  
        </ul>  
          
    </body>
    </html>


二、css部分

ul,li{  
    list-style:none;/* //清除ul和li上默认的小圆点 */  
  
}  
ul{  
    /* 清除子菜单的缩进值 */  
    padding:0;  
    margin:0;  
}  
.main,.hmain{  
    background-image:url(../images/title.gif);/*指定背景图*/  
    background-repeat:repeat-x;  
    width:120px;  
}  
li{  
    background-color:#EEEEEE;  
}  
a {  
    /*取消所有的下划线*/  
    text-decoration:none;  
    padding-left:20px;   
     display:block;  
    display:inline-block;/* 解决ie6不兼容的问题 */   
    width:100px;  
    padding-top:3px;  
    padding-bottom:3px;  
}  
.main a,.hmain a {  
    color:white;/*主菜单标签颜色为白色*/  
    background-image:url(../images/collapsed.gif);  
    background-repeat:no-repeat;  
    background-position:3px center; /* 图片位置在中间 */  
}  
.main li a ,.hmain li a{  
    /* 子菜单项 */  
    color:black;  
    background-image:none;/* 不使用图片 */  
    padding-left:18px;   
      
}  
.main ul,.hmain ul{  
    /* 子菜单隐藏 */  
     display:none;   
}  
.hmain{  
    float:left;/*浮动显示*/  
    margin:1px;  
}


三、js部分

$(document).ready(function(){  
    //页面的Dom已经装载完成时,执行的代码  
     $(".main > a,.hmain a").click(function(){  
         //找到主菜单项对应的子菜单项  
        var ulNode = $(this).next("ul");  
        // //根据情况收缩菜单  
        // if(ulNode=$.css("display") == "none"){  
            // ulNode.css("display","block");  
        // }else{  
            // ulNode.css("display","none");  
        // }  
          
        // ulNode.show("normal");//设置展开的速度,可以是nomal,slow,fast  
        // ulNode.hide();  
         // ulNode.toggle();//toggle设置展开或者收缩  
        //卷帘效果,向上或者向下  
        // ulNode.slideDown();  
        // ulNode.slideUp;  
        ulNode.slideToggle();  
    });  
    //麻烦的方法  
    // $(".hmain > a").hover(function(){  
        // $(this).next("ul").slideDown();  
    // }.Function(){  
        // var ulNode=$(this).next("ul");  
        // var timeoutId =setTimeout(function(){  
          
// })         
            // ulNode.slideUp();  
    // },300);  
    // ulNode.hover(function(){  
        // clearTimeout(timeoutId);  
    // }.function(){  
        // $(this).slideUp();  
    // });  
  
    /********实现鼠标移动到指定主菜单后子菜单自动显示*****/  
      
    $(".hmain").hover(function(){  
        $(this).children("ul").slideDown();  
    },function(){  
        $(this).children("ul").slideUp();  
    });  
      
});  
   /* 
    *修改主菜单的指示图标随着子菜单的变化而变化 
    * 
    */  
function changeIcon(mainNode) {  
    if (mainNode) {  
        if (mainNode.css("background-image").indexOf("collapsed.gif") >= 0) {  
            mainNode.css("background-image","url('images/expanded.gif')");  
        } else {  
            mainNode.css("background-image","url('images/collapsed.gif')");  
        }  
    }  
} 


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值