三级菜单的实现

本文介绍了一种使用HTML、CSS和JavaScript/jQuery实现三级菜单的方法。通过布局和交互设计,详细展示了如何创建一个响应式下拉菜单,包括兼容性和事件绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三级菜单的实现
三级菜单的实现与二级菜单相类似
实现方法有 jQuery js css
 html代码布局如下
<ul id="navmenu">
  <li><a href=""#>首页</a></li>
  <li><a href=""#>课程大厅</a></li>
  <li><a href=""#>学习中心 +</a>
       <ul>
        <li><a href="#">前端开发 +</a>
        <ul>
           <li><a href="">javascript</a></li>
           <li><a href="">css</a></li>
           <li><a href="">jquery</a></li>
         </ul>
        </li>
        <li><a href="">手机开发 +</a>
           <ul>
           <li><a href="">ios开发</a></li>
           <li><a href="">安卓开发</a></li>
           <li><a href="">wp开发</a></li>
         </ul>
        </li>
        <li><a href="">后端编程</a></li>
       </ul>
  </li>
  <li><a href=""#>关于我们</a></li>
 </ul>
 实现的方法  第一项 css
代码如下
body {
behavior:url(csshover.htc);  //解决浏览器对:hover兼容问题
}
* {
margin: 0;
padding: 0;
}
#navmenu {
font-size: 12px;
font-weight: bold;
list-style: none;
margin: 0 auto;
}
#navmenu li {
float: left;
margin-right: 1px;
}
#navmenu li a {
line-height: 20px;
text-decoration: none;
background-color: #ddd;
color: #666;
display: block;
width: 80px;
text-align: center;
}
#navmenu li ul {
display: none;
list-style: none;
position: relative;
/*padding: 0; */
}
#navmenu li a:hover {
background-color: #900;
color: white;
}
#navmenu li:hover ul {
display: block;      //显示二级菜单      
width: 80px;
}
#navmenu li:hover ul li ul {
display: none;          //当显示二级菜单时 三级菜单隐藏
}
#navmenu li ul li:hover ul{
display: block;  //显示三级菜单
top: 0px;
left: 80px;
position: absolute;
}


  三级菜单与二级菜单的实现思想相同 重要的是子菜单位置的确定


三级菜单 js的实现思想为 


 遍历li找到拥有子菜单的呢一项 为其绑定事件 


坑爹的ie
代码如下
window.onload = function() {
var Lis = document.getElementsByTagName("li");
for (var i = 0 ; i < Lis.length; i++) {
Lis[i].onmouseover = function () { 
var u=this.getElementsByTagName("ul")[0];
if (u !=undefined) {
u.style.display = "block";
}

Lis[i].onmouseout = function () { 
var u=this.getElementsByTagName("ul")[0];
if (u !=undefined) {
u.style.display = "none";


 }
}
 }
}
三级菜单 jquery的实现
  $(function() {
$("li").has("ul").mouseover(function() {
$(this).children("ul").css("display","block");
})
                $("li").has("ul").mouseout(function() {
$(this).children("ul").css("display","none")
})
 $.support.leadingWhitespace
});

JS三级联动表单 <!-- var arrText = new Array(5); var arrValue = new Array(arrText.length); function objSetOption(select1, select2, select3) { this.select1 = select1; this.select2 = select2; this.select3 = select3; } arrText[0]= new objSetOption("选择1:", "选择2_1:,选择2_2:", "选择3_1:,选择3_2:"); arrText[1] = new objSetOption("论文:1", "语文:1,数学:2,英语:3", "初中:2,高中:3"); arrText[2] = new objSetOption("例题:2", "显示b2_1:值b2_1,显示b2_2:值b2_2", "显示b3_1:值b3_1,显示b3_2:值b3_2"); arrText[3] = new objSetOption("显示c:值c", "显示c2_1:值c2_1,显示c2_2:值c2_2", "显示c3_1:值c3_1,显示c3_2:值c3_2"); arrText[4] = new objSetOption("显示d:值d", "显示d2_1:值d2_1,显示d2_2:值d2_2", "显示d3_1:值d3_1,显示d3_2:值d3_2"); arrText[5] = new objSetOption("显示e:值e", "显示e2_1:值e2_1,显示e2_2:值e2_2", "显示e3_1:值e3_1,显示e3_2:值e3_2"); function select() { var eltSelect1 = document.test.select1; var eltSelect2 = document.test.select2; var eltSelect3 = document.test.select3; var arrSelect1, arrSelect2, arrSelect3; var arrData1, arrData2, arrData3; with(eltSelect1) { var strSelect = options[selectedIndex].value; } for(i = 0;i < arrText.length;i ++) { arrSelect1 = arrText[i].select1; arrData1 = arrSelect1.split(":"); if (arrData1[1] == strSelect) { arrSelect2 = (arrText[i].select2).split(","); for(j = 0;j < arrSelect2.length;j++) { arrData2 = arrSelect2[j].split(":"); with(eltSelect2) { length = arrSelect2.length; options[j].text = arrData2[0]; options[j].value = arrData2[1]; } } arrSelect3 = (arrText[i].select3).split(","); for(j = 0;j < arrSelect3.length;j++) { arrData3 = arrSelect3[j].split(":"); with(eltSelect3) { length = arrSelect3.length; options[j].text = arrData3[0]; options[j].val
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值