问答详情
源自:1-5 编程练习

个人理解~

<!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>
<script type="text/javascript">
window.onload=function(){

      // 将所有点击的标题和要显示隐藏的列表取出来
      var ps=$("#menu").getElementsByTagName("p");
      var uls=$("menu").getElementsByTagName("ul");
      if(ps.length!=uls.length)
      return;

     // 遍历所有要点击的标题且给它们添加索引及绑定事件
     for(var i=0;i<ps.length;I++){
         ps[i].id=i;
         ps[i].onclick=function(){
            for(var j=0;j<uls.length;j++){
           var u=uls[this.id];
           if(u.style.display=="block"){
               u.style.display="none";
           }else{
               u.style.display="block";
           }  
            } 
         }
     }

     // 获取点击的标题上的索引属性,根据该索引找到对应的列表

     // 判断该列表,如果是显示的则将其隐藏,如果是隐藏的则将其显示出来

}
</script>
</head>
<body>
<div id="menu">
<div>
<p>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>
</body>
</html>


提问者:站在树端的猫 2015-07-14 15:49

个回答

  • 灵感自你
    2016-01-14 21:01:27

    function $(id){

    return typeof id==='string'? document.getElementById(id):id;

    }

    少一句吧!