js实现收缩导航树
2013-11-27 19:53
267 查看
代码如下
Test.js代码如下
开始的时候一直报个错误,后来发现是Test.js引入那句话写在head里了,那是body还没加载,所以document.getElementById是得不到东西的。
把js引入那句话放到body的最后就好了。还有就是注意点击事件的substring的作用,是为了每次替换[+]和[-]。所以substring传参数是3。效果图如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Navigation Tree Example</title> <style type="text/css"> A {text-decoration:none} #productsmenu,#supportmenu,#contactmenu { display:none;margin-left:2em;} </style> </head> <body> <h1>Navigation Tree Example</h1> <p>The navigation tree below alows you to expand and collapse items.</p> <ul> <li><a id="products" href="#">[+] Produts</a> <ul id="productsmenu"> <li><a href="productlist.html">Product List</a></li> <li><a href="order.html">Order Form</a></li> <li><a href="pricelist.html">Price List</a></li> </ul> </li> <li><a id="support" href="#">[+] Support</a> <ul id="supportmenu"> <li><a href="support.html">Support Form</a></li> <li><a href="contact.html">Contact Support</a></li> </ul> </li> <li><a id="contact" href="#">[+] Contact Us</a> <ul id="contactmenu"> <li><a href="service.html">Service Department</a></li> <li><a href="sales.html">Sales Department</a></li> </ul> </li> </ul> <script type="text/javascript" src="Test.js"></script> </body> </html>
Test.js代码如下
function Toggle(e){ if(!e){ var e=window.event; } whichlink=(e.target)?e.target.id:e.secElement.id; obj=document.getElementById(whichlink+"menu"); visible=obj.style.display=="block"; key=document.getElementById(whichlink); keyname=key.firstChild.nodeValue.substring(3); if(visible){ obj.style.display="none"; key.firstChild.nodeValue='[+] '+keyname; }else { obj.style.display="block"; key.firstChild.nodeValue='[-] '+keyname; } } document.getElementById('products').onclick=Toggle; document.getElementById('support').onclick=Toggle; document.getElementById('contact').onclick=Toggle;
开始的时候一直报个错误,后来发现是Test.js引入那句话写在head里了,那是body还没加载,所以document.getElementById是得不到东西的。
把js引入那句话放到body的最后就好了。还有就是注意点击事件的substring的作用,是为了每次替换[+]和[-]。所以substring传参数是3。效果图如下
相关文章推荐
- js实现导航吸顶效果
- JS - 侧边导航收缩伸展
- js实现简单自定义导航,导航随项目id变化(ECMS下内容页修改)
- JS+CSS实现DIV层的展开、收缩效果
- js实现 导航移入移出效果
- JS实现灵巧的下拉导航效果代码
- js+css实现导航效果实例
- JS实现带圆弧背景渐变效果的导航菜单代码
- js实现收缩菜单效果实例代码
- Js实现谢幕效果,层慢慢收缩
- js实现当前导航菜单高亮显示
- js实现的常用的左侧导航效果
- JS实现快速的导航下拉菜单动画效果附源码下载
- 简单实现js悬浮导航效果
- JS+CSS实现电子商务网站导航模板效果代码
- 【JS 设计模式 】用组合模式来实现树形导航--代码结构思路分析(一)
- UL LI结构实现二级导航菜单(HTML+CSS+JS)
- JS实现三级折叠菜单特效,其它级可自动收缩
- js实现给导航换背景图片
- JS实现网页顶部向下滑出的全国城市切换导航效果