我发现不用len,直接用oLi.length的时候,循环只执行一次,循环完后oLi.length=0,这是为什么呢?
for(var i=0,len=oLis.length;i<len;i++){
oLis[i].index=i;
oLis[i].onclick=function(){
len=oLis.length就是计算出总共选项卡有几个,一个<li>就包含一个有内容的<div>——也就是房源的信息;
参考代码的思路就是用一个for循环先把所有<li>的className设为空,把二级的<div>设为“hide”,然后再将选中的<li>也就是用oLis[i].onclick将其className设为“on”即样式变为选中,用oLis[i].index获得选中oLis的序号,将序号相同的<div>的className改为“”即显示内容
1、len = oLis.length的作用?
因为循环体里需要用到oLis.length,循环条件里也用到了它,所以放到一个变量里,方便使用。
2、循环完后oLi.length=0,为什么?
代码不全,不发定位原因。猜测是循环过程中对oLi做了影响其length的操作。