这段代码可以运行,但是浏览器也会报错,请教原因。如果把循环改为aDiv[0].style.left=pos.x+'px';
aDiv[0].style.top=pos.y+'px';
for(i=aDiv.length-1;i>0;i--)
{
aDiv[i].style.left=aDiv[i-1].offsetLeft+'px';
aDiv[i].style.top=aDiv[i-1].offsetTop+'px';
}就不会报错了,求大神指点其中缘由,百思不得其解。另也请指教一下,for循环正过来和倒着用的不同场合,有什么判断依据否?
1 回答
![?](http://img1.sycdn.imooc.com/545868330001e54e02200220-100-100.jpg)
桃花长相依
TA贡献1860条经验 获得超8个赞
没看问题,先说一句。问问题,学习交流,你总得先让看的人不头疼,把代码给整理下吧。
好了,原谅你了!说问题。
i++那个,你不是后面还有一个i++嘛,超过数组上限了,所以报错。
i--那个,不会超过数组下线,因为你有i>0。也就是0是不会进入的,要进入的最小值是1,i-1=0,0恰好是数组下限,所以没报错。
这应该是一个小问题,细心一下就会发现的(下回,别“百思”了,呵呵)。
至于你说的什么时候用i++,什么时候用i++,要看你是想从哪头开始取数据而已!
添加回答
举报
0/150
提交
取消