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

JS关于for循环

JS关于for循环

KokoTa 2015-11-19 15:57:49
做了一个鼠标跟随的运动 但是搞不清楚为什么for要使用反向循环 为什么正向循环不行呢?<!DOCTYPE html><html><head> <title></title></head><script type="text/javascript">window.onload=function(){ var div = document.getElementsByTagName('div'); if(div[0]){ div[0].style.background = "yellow"; div[div.length-1].style.background = "green"; } function getPos(event){ var scrollTop = document.documentElement.scrollTop||document.body.scrollTop; var scrollLeft = document.documentElement.scrollLeft||document.body.scrollLeft; return {x:event.clientX+scrollLeft,y:event.clientY+scrollTop}; } document.onmousemove = function(event){ var event = event||window.event; var pos = getPos(event); for(var i=div.length-1;i>0;i--){ div[i].style.left = div[i-1].offsetLeft+'px'; div[i].style.top = div[i-1].offsetTop+'px'; } div[0].style.top = pos.y+'px'; div[0].style.left = pos.x+'px'; } }</script><style type="text/css"> div{width: 100px;height: 100px;position: absolute;background: red;}</style><body style="height:2000px;"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></body></html>
查看完整描述

3 回答

?
x兔子

TA贡献23条经验 获得超16个赞

for(var i=0;i<div.length-1;i++)

查看完整回答
反对 回复 2015-11-19
  • KokoTa
    KokoTa
    是的 但是无法实现 很纠结( ⊙ o ⊙ )
?
echo_kinchao

TA贡献600条经验 获得超86个赞

因为他是从第一个跟着你 其他的是重叠在后面 如果是正着来 那么他们的方向会是反的

查看完整回答
反对 回复 2015-11-19
  • KokoTa
    KokoTa
    替换成for(var i=0;i<div.length-1;i++){ div[i+1]....=div[i].... } 逻辑上也是按照从div[1]跟随div[0]开始,可是就是跟不了,能详细说明一下吗 非常感谢
  • 3 回答
  • 0 关注
  • 2095 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信