求解: 编写的代码里面 oli[i].index=i;的作用是什么?还有这个index是定位到哪啊?

来源:10-1 编程挑战

Hew_520

2016-05-18 09:28

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

1回答

  • 飞舞的墨
    2016-05-18 17:14:03
    已采纳

    i 是一个从0开始到数组长度减一的一个整数。

    index一般是当成元素下标使用。不过你这种用法,没见过,也不清楚有什么意义。


    我写了个测试例子:

    var aa=new Array("a","b","c");

            aa[0].index=1;

            console.log(aa[0]+" "+aa[1]+" "+aa[2]);

    打印出来 :a b c

     没发现这句代码有什么用意。

     

    Hew_52... 回复飞舞的墨

    应该就是你说的这个意思 就是为了下面判断是点的哪个li标签 ^_^

    2016-05-19 09:48:11

    共 4 条回复 >

JavaScript进阶篇

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

468063 学习 · 21891 问题

查看课程

相似问题