JavaScript伸缩的菜单简单示例

时间:2024-10-31 03:32:34 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>伸缩的菜单</title>
<style>
<!--
body{
background-color:#ffdee0;
}
#navigation {
width:200px;
font-family:Arial;
}
#navigation > ul {
list-style-type:none;/* 不显示项目符号 */
margin:0px;
padding:0px;
}
#navigation > ul > li {
border-bottom:1px solid #ED9F9F;/* 添加下划线 */
}
#navigation > ul > li > a{
display:block;/* 区块显示 */
padding:5px 5px 5px 0.5em;
text-decoration:none;
border-left:12px solid #711515;/* 左边的粗红边 */
border-right:1px solid #711515;/* 右侧阴影 */
}
#navigation > ul > li > a:link, #navigation > ul > li > a:visited{
background-color:#c11136;
color:#FFFFFF;
}
#navigation > ul > li > a:hover{ /* 鼠标经过时 */
background-color:#990020;/* 改变背景色 */
color:#ffff00;/* 改变文字颜色 */
}

/* 子菜单的CSS样式 */
#navigation ul li ul{
list-style-type:none;
margin:0px;
padding:0px 0px 0px 0px;
}
#navigation ul li ul li{
border-top:1px solid #ED9F9F;
}
#navigation ul li ul li a{
display:block;
padding:3px 3px 3px 0.5em;
text-decoration:none;
border-left:28px solid #a71f1f;
border-right:1px solid #711515;
}
#navigation ul li ul li a:link, #navigation ul li ul li a:visited{
background-color:#e85070;
color:#FFFFFF;
}
#navigation ul li ul li a:hover{
background-color:#c2425d;
color:#ffff00;
}
#navigation ul li ul.myHide{ /* 隐藏子菜单 */
display:none;
}
#navigation ul li ul.myShow{ /* 显示子菜单 */
display:block;
}
-->
</style>
<script language="javascript">
function change(){
//通过父元素li,找到兄弟元素ul
var oSecondDiv = this.parentNode.getElementsByTagName("ul")[0];
//CSS交替更换来实现显、隐
if(oSecondDiv.className == "myHide")
oSecondDiv.className = "myShow";
else
oSecondDiv.className = "myHide";
}
window.onload = function(){
var oUl = document.getElementById("listUL");
var aLi = oUl.childNodes;//子元素
var oA;
for(var i=0;i<aLi.length;i++){
//如果子元素为li,且这个li有子菜单ul
if(aLi[i].tagName == "LI" && aLi[i].getElementsByTagName("ul").length){
oA = aLi[i].firstChild;//找到超链接
oA.onclick = change;//动态添加点击函数
}
}
}
</script>
</head>
<body>
<div id="navigation">
<ul id="listUL">
<li><a href="#">Home</a></li>
<li><a href="#">News</a>
<ul class="myHide">
<li><a href="#">Lastest News</a></li>
<li><a href="#">All News</a></li>
</ul>
</li>
<li><a href="#">Sports</a>
<ul class="myHide">
<li><a href="#">Basketball</a></li>
<li><a href="#">Football</a></li>
<li><a href="#">Volleyball</a></li>
</ul>
</li>
<li><a href="#">Weather</a>
<ul class="myHide">
<li><a href="#">Today's Weather</a></li>
<li><a href="#">Forecast</a></li>
</ul>
</li>
<li><a href="#">Contact Me</a></li>
</ul>
</div>
</body>
</html>
标签:JavaScript,伸缩菜单
0
投稿

猜你喜欢

  • PHP和JS之间的数据交互并处理

    2023-05-25 00:57:08
  • python3爬虫中多线程进行解锁操作实例

    2021-04-29 00:16:42
  • MySQL如何修改字段的默认值和空值

    2024-01-16 16:57:22
  • Select count(*)、Count(1)和Count(列)的区别及执行方式

    2024-01-28 14:43:04
  • 一篇文章搞懂Python Unittest测试方法的执行顺序

    2023-11-01 09:38:01
  • python 打印出所有的对象/模块的属性(实例代码)

    2023-09-02 21:46:15
  • Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)

    2023-09-03 10:22:39
  • MySQL limit使用方法以及超大分页问题解决

    2024-01-24 21:46:56
  • PHP使用自定义key实现对数据加密解密的方法

    2023-08-21 12:48:37
  • js增强的自定义事件模型

    2008-02-18 12:37:00
  • Python OpenCV绘制各类几何图形详解

    2023-02-04 18:27:01
  • keras模型保存为tensorflow的二进制模型方式

    2022-12-21 07:20:08
  • oracle 集合

    2009-06-19 18:09:00
  • 使用python和pygame绘制繁花曲线的方法

    2021-05-05 04:47:11
  • MySQL提示:The server quit without updating PID file问题的解决办法

    2024-01-14 21:36:05
  • python实现贪吃蛇游戏源码

    2021-07-22 12:45:24
  • 利用Python编写简易的录制屏幕小工具

    2023-12-17 04:34:57
  • 使用Protocol Buffers的C语言拓展提速Python程序的示例

    2022-12-04 08:46:20
  • Python编程实现小姐姐跳舞并生成词云视频示例

    2023-10-16 17:38:15
  • Linux如何添加mysql系统环境变量

    2024-01-24 16:27:54
  • asp之家 网络编程 m.aspxhome.com