JavaScript伸缩的菜单简单示例


Posted in Javascript onDecember 03, 2013
<!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 相关文章推荐
JavaScript 浏览器验证代码(来自discuz)
Jul 17 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
js 表单提交后按钮变灰的实例代码
Aug 16 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
May 05 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
Mar 25 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
Angular.js中上传指令ng-upload的基本使用教程
Jul 30 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
Jun 25 Javascript
Vue不能检测到Object/Array更新的情况的解决
Jun 26 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 Javascript
js删除指定位置超链接中含有百度与360的标题
Jan 06 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 #Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 #Javascript
一个js控制的导航菜单实例代码
Dec 03 #Javascript
JS与C#编码解码
Dec 03 #Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 #Javascript
浅析JavaScript原型继承的陷阱
Dec 03 #Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 #Javascript
You might like
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
script不刷新页面的联动前后代码
2013/09/18 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
JS前端笔试题分析
2016/12/19 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
关于反爬虫的一些简单总结
2017/12/13 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
EJB的基本架构
2016/09/22 面试题
大学生实习期自我评价范文
2013/10/03 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
教师节标语大全
2014/10/07 职场文书
先进个人评语大全
2015/01/04 职场文书
阿凡达观后感
2015/06/10 职场文书
李强感恩观后感
2015/06/17 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript