拉格朗日之都
2016-03-15 15:10
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{margin:0; padding:0; font-size:13px; list-style:none;} .menu{width:210px; margin:50px auto; border:1px solid #ccc;} .menu p{height:25px; line-height:25px; font-weight:bold; background:#eee; border-bottom:1px solid #ccc; cursor:pointer; padding-left:5px;} .menu div ul{display:none;} .menu li{height:24px; line-height:24px; padding-left:5px;} </style> </head> <body> <div id="menu"> <div> <p style="background: #f66;color:#fff">Web前端</p> <ul style="display:block"> <li>JavaScript</li> <li>DIV+CSS</li> <li>jQuery</li> </ul> </div> <div> <p>后台脚本</p> <ul> <li>PHP</li> <li>ASP.net</li> <li>JSP</li> </ul> </div> <div> <p>前端框架</p> <ul> <li>Extjs</li> <li>Esspress</li> <li>YUI</li> </ul> </div> </div> <script type="text/javascript"> function $(id){ return typeof id=== 'string'?document.getElementById(id):id; } window.onload = function(){ // 将所有点击的标题和要显示隐藏的列表取出来 var nav = $('menu').getElementsByTagName('p'); var list = $('menu').getElementsByTagName('ul'); //如果列表数目和内容数目不等 if(nav.length!=list.length) return; // 遍历所有要点击的标题且给它们添加索引及绑定事件 for(var i=0;i<nav.length;i++){ nav[i].setAttribute('index',i); nav[i].onclick = function(){ for(var j=0;j<nav.length;j++){ nav[j].style.background='#eee'; nav[j].style.color='#000'; list[j].style.display='none'; } this.style.background='#f66'; this.style.color='#fff'; list[this.getAttribute('index')].style.display="block"; } } // 获取点击的标题上的索引属性,根据该索引找到对应的列表 // 判断该列表,如果是显示的则将其隐藏,如果是隐藏的则将其显示出来 } </script> </body> </html>
good好
Tab选项卡切换效果
65469 学习 · 533 问题
相似问题