为了账号安全,请及时绑定邮箱和手机立即绑定

不用len,直接用oLi.length,为什么不行?

我发现不用len,直接用oLi.length的时候,循环只执行一次,循环完后oLi.length=0,这是为什么呢?

 for(var i=0,len=oLis.length;i<len;i++){        

            oLis[i].index=i;

            oLis[i].onclick=function(){



正在回答

2 回答

len=oLis.length就是计算出总共选项卡有几个,一个<li>就包含一个有内容的<div>——也就是房源的信息;

参考代码的思路就是用一个for循环先把所有<li>的className设为空,把二级的<div>设为“hide”,然后再将选中的<li>也就是用oLis[i].onclick将其className设为“on”即样式变为选中,用oLis[i].index获得选中oLis的序号,将序号相同的<div>的className改为“”即显示内容

1 回复 有任何疑惑可以回复我~

1、len = oLis.length的作用?

因为循环体里需要用到oLis.length,循环条件里也用到了它,所以放到一个变量里,方便使用。

2、循环完后oLi.length=0,为什么?

代码不全,不发定位原因。猜测是循环过程中对oLi做了影响其length的操作。


0 回复 有任何疑惑可以回复我~
#1

Fstar 提问者

那是什么操作?就是不懂为什么用了 oLis.length这个玩意会改变。
2016-02-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不用len,直接用oLi.length,为什么不行?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信