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

js代码走到一半不走了求给看看那

js代码走到一半不走了求给看看那

一只名叫tom的猫 2018-07-22 10:12:30
<script type="text/javascript">window.onload = function (){var oDiv = document.getElementsByClassName("facebox") ; //根据类名获取一个数组//循环取值for(var i=0;i<oDiv.length;i++){   oDiv[i].onmousedown = function(ev){       var oEvent = ev || event;    dargX = oEvent.clientX - oDiv[i].offsetLeft;//程序进不去这个方法   }}</script>  这是为什么
查看完整描述

2 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

for循环里面的oDivs应该换成oDivs[i]吧!

查看完整回答
反对 回复 2018-07-23
?
繁星coding

TA贡献1797条经验 获得超4个赞

典型的没有理解闭包,正好这两天刚学的闭包。

假如其他代码都是正确的,for循环可以改成这样的

for(var i=0;i<oDiv.length;i++){
 oDiv[i].onmousedown = (function(j){        return function(ev){  
            var oEvent = ev || event;
            dargX = oEvent.clientX - oDiv[j].offsetLeft;//程序进不去这个方法     }
    })(i);
}

那个offsetLeft是属性还是方法?如果是方法不是应该offsetLeft()这样写吗?


查看完整回答
反对 回复 2018-07-23
  • 2 回答
  • 0 关注
  • 215 浏览

添加回答

举报

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