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

用JS添加的图片在浏览器极速模式中用offset获取高/宽结果为0

用JS添加的图片在浏览器极速模式中用offset获取高/宽结果为0

DoubleStone 2017-03-21 17:14:21
<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title>Water Fall</title>     <script src="js/water.js" type="text/javascript"></script>     <style type="text/css">     *{         margin: 0;         padding: 0;     }     #main{         position: relative;     }     .pin{         float: left;     }     </style>     </head> <body>     <div id="main">     </div> </body> </html>以上是HTML部分window.onload=function(){ var oParent=document.getElementById("main"); for(var i=0;i<98;i++){ var oPin=document.createElement('div'); oPin.className='pin'; oParent.appendChild(oPin); var oBox=document.createElement('div'); oBox.className='box'; oPin.appendChild(oBox); var oImg=document.createElement('img'); oImg.src="images/"+i+".jpg"; oBox.appendChild(oImg); }<!--for循环为批量添加本地图片--> waterfall(oParent); } function waterfall(oParent){ var _Pin=oParent.getElementsByClassName('pin'); var _PinW=_Pin[0].offsetWidth; console.log(_PinW); }问题就出来了,获取任意一个class名为pin的div的宽度或者高度时,获取的值总为0,但用兼容模式获取就正常,请教各位有没有方法能解决这个获取值不对的问题。感谢!
查看完整描述

1 回答

?
小沐沐_刚刚好

TA贡献3条经验 获得超0个赞

用jq去实现,这样兼容性好点

查看完整回答
反对 回复 2017-03-21
  • DoubleStone
    DoubleStone
    尝试用jq,$('.pin').eq(0).width();这样子获得宽度还是0……我觉得会不会是我传参或者别的错误导致的问题。。
  • 1 回答
  • 0 关注
  • 1395 浏览
慕课专栏
更多

添加回答

举报

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