循环里面的this可以换成oLis[i]吗

来源:10-1 编程挑战

jazia

2016-05-23 09:31

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* CSS样式制作 */  
     *{font:15px normal "microsoft yahei"}
     #tabs{
         width:300px;height:200px;
         margin:10px;padding:5px;
     }
     #tabs ul{
         display:block;
         height:30px;line-height:30px;
         border-bottom:2px saddlebrown solid;
     }
     #tabs ul li{
         list-style:none;cursor:pointer;
         display:inline-block;
         border:1px solid #aaa;
         border-bottom:none;
         width:60px;text-align:center;
         margin:0px 5px;
         height:28px;line-height:28px;
     }
     #tabs ul li.on{
         border-top:2px solid saddlebrown;
         border-bottom:2px solid #fff;
     }
     #tabs div{
         border:1px solid #336699;border-top:none;
         padding:5px;height:120px;
         line-height:25px;
         
     }
     .hide{display:none;}
    </style>
    <script type="text/javascript">
         
    // JS实现选项卡切换
    window.onload=function(){
    var oTab=document.getElementById("tabs");
    var oUl=oTab.getElementsByTagName("ul")[0];
    var oLis=oUl.getElementsByTagName("li");
    var oDivs=oTab.getElementsByTagName("div");
    
    for(var i=0,len=oLis.length;i<len;i++){
        oLis[i].index=i;
        oLis[i].onclick=function(){
            for(var n=0;n<len;n++){
                oLis[n].className="";
                oDivs[n].className="hide";
            }
            this.className="on";//这里
            oDivs[this.index].className="";//这里
        }
    }
    }
    
    </script>
 
</head>
<body>
<!-- HTML页面布局 -->
<div id="tabs">
    <ul>
        <li>房产</li>
        <li>家居</li>
        <li>二手房</li>
    </ul>
    
    <div >
      275万购昌平邻铁三居 总价20万买一居<br/>
      200万内购五环三居 140万安家东三环<br/>
      北京首现零首付楼盘 53万购东5环50平<br/>
      京楼盘直降5000 中信府 公园楼王现房<br/>
    </div>
    <div>
       40平出租屋大改造 美少女的混搭小窝<br/>
       经典清新简欧爱家 90平老房焕发新生<br/>
       新中式的酷色温情 66平撞色活泼家居<br/>
       瓷砖就像选好老婆 卫生间烟道的设计<br/>
    </div>
    <div>
       通州豪华3居260万 二环稀缺2居250w甩<br/>
       西3环通透2居290万 130万2居限量抢购<br/>
       黄城根小学学区仅260万 121平70万抛!<br/>
       独家别墅280万 苏州桥2居优惠价248万<br/>
    </div>
</div>

 
</body>
</html>

如果不可以,能说说原因吗

写回答 关注

1回答

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题