HTML+CSS+JavaScript通过嵌套ul li实现简单的二级菜单
建站知识 2021-07-03 08:43www.168986.cn长沙网站建设
复制代码
代码如下:HTML网页如下(通过嵌套的<ul><li></li></ul>)(兼容IE6-9,谷歌火狐等主流浏览器)
复制代码
代码如下:<body onload="loadFun()">
<form id="form1" runat="server">
<div id="menu">
<ul>
<li><a href="#" onclick="Show('rule')">相关法规</a>
<ul id="rule">
<li><a href="#">Adobe Reader</a></li>
<li><a href="#">Foxit Reader</a></li>
<li><a href="#">操作员计算机IE设置</a></li>
<li><a href="#">电子签章办理须知</a></li>
</ul>
</li>
<li><a href="#" onclick="Show('load')">相关下载</a>
<ul id="load">
<li><a href="#">Adobe Reader</a></li>
<li><a href="#">Foxit Reader</a></li>
<li><a href="#">操作员计算机IE设置</a></li>
</ul>
</li>
<li><a href="#" onclick="Show('info')">公司简介</a>
<ul id="info">
<li><a href="#">Adobe Reader</a></li>
<li><a href="#">Foxit Reader</a></li>
</ul>
</li>
<li><a href="#" onclick="Show('window')">连接窗口</a>
<ul id="window">
<li><a href="#">Adobe Reader</a></li>
<li><a href="#">Foxit Reader</a></li>
</ul>
</li>
<li><a href="#" onclick="Show('phone')">连接电话</a>
<ul id="phone">
<li><a href="#">Adobe Reader</a></li>
<li><a href="#">Adobe Reader</a></li>
</ul>
</li>
</ul>
</div>
</form>
</body>
网页加载时,需要将所有的菜单项都暂时隐藏,调用相关的JavaScript代码
复制代码
代码如下:/网页加载时触发的函数/
function loadFun() {
//获取<ul></ul>的所有子节点<li>节点5个
var array = document.getElementsByTagName("ul").item(0).childNodes;
//遍历子节点
for (var i = 0; i < array.length; i++) {
//获取<li></li>标签的子节点
var childnodes = array[i].childNodes;
for (var j = 0; j < childnodes.length; j++) {
//如果碰到主菜单中的<ul>标签就隐藏该子菜单的下拉菜单
if (childnodes[j].tagName == "UL") {
childnodes[j].style.display = "none";
}
}
}
}
详细的CSS代码如下
复制代码
代码如下:<style type="text/css">
/设置上一级菜单的样式/
html,body
{
width:100%;
height:100%;
/消除网页的边界/
margin:0px;
padding:0px;
border-style:none;
}
#menu
{
width:225px;
height:320px;
background-color:RGB(216,216,216);
padding:0px;
margin:0px;
}
/去掉列表前的圆点/
#menu ul
{
width:225px;
list-style-type:none;
padding:0px;
margin:0px; /消除左侧间隙/
}
#menu ul li
{
width:225px;/填充满整个边栏/
/
margin:0px;
padding:0px;
/
}
#menu ul li a
{
display:block; /先转化成块级元素/
color:Gray;
text-align:left;
text-decoration:none;
padding:10px 0px 10px 30px;/设置距离左侧的边栏和上边距/
font-size:14px;
}
#menu ul li a:hover
{
color:Orange;
text-align:left;
text-decoration:none;
padding:10px 0px 10px 30px;
font-size:14px;
}
/设置子菜单的样式/
#menu ul li ul
{
list-style-type:none;
/
padding:0px;
margin:0px;
/
}
#menu ul li ul li
{
width:225px; /通过设置宽度来填充/
}
#menu ul li ul li a
{
display:block;
/此处可以通过设置来调整相关的样式/
padding:6px 0px 6px 60px;
text-align:left;
text-decoration:none;
font-size:12px;
}
#menu ul li ul li a:hover
{
padding:6px 0px 6px 60px;
text-align:left;
text-decoration:none;
font-size:12px;
color:Black;
background-color:#CD2626;
}
</style>
鼠标点击触发的JavaScript代码如下
复制代码
代码如下:/点击按钮是触发的事件/
var arrays = new Array("rule","load","info","window","phone");
function Show(tagId) {
for (var i = 0; i < arrays.length; i++) {
if (arrays[i] == tagId) {
//设置全新的背景颜色
document.getElementById(arrays[i]).parentNode.style.backgroundColor = "RGB(237,237,237)";
document.getElementById(arrays[i]).style.display = "block";
}
else {
//将背景颜色还原
document.getElementById(arrays[i]).parentNode.style.backgroundColor = "RGB(216,216,216)";
document.getElementById(arrays[i]).style.display = "none";
}
}
}
效果图如下
长沙网站设计
- 如何自己建一个网站 自己想建个网站,怎么建
- 如何制作网站免费建站 创建网站免费注册
- html简单网页代码 html简单网页代码超链接
- dreamweaver网页制作 dreamweaver网页制作模板
- 上海网站建设 上海网站建设制作微信
- 如何制作网站和网页 如何制作一个网页
- html网页制作代码大全 端午节html网页制作代码大
- app开发公司 app开发公司前十名
- html网页制作 html网页制作文字居中
- app制作一个需要多少钱 请人制作一个app多少钱
- 成都网站制作 成都网站制作维护
- 百度建一个网站多少钱 百度做个公司网站要多少
- html+css网页制作成品 web网页制作成品css+javascrip
- html网页制作案例 html网页设计案例
- html+css网页制作成品 web网页制作成品css+javascrip
- 个人网站模板 个人网站模板HTML