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

为什么我用offsetheight获取的box的高度存放到数组后,在控制台打印的结果与实际高度不相符

为什么我用offsetheight获取的box的高度存放到数组后,在控制台打印的结果与实际高度不相符

慕瓜3745345 2017-05-16 18:58:33
window.onload=function(){ waterfall('main','box');}//将main下的所有class为box的元素取出来function waterfall(parent,box){ var oParent=document.getElementById(parent); var oBoxs=getByClass(oParent,box); //计算整个页面显示的列数(页面宽/box的宽) var oBoxW=oBoxs[0].offsetWidth; var cols=Math.floor(document.documentElement.clientWidth/oBoxW); console.log(cols); oParent.style.cssText='width:'+oBoxW*cols+'px;margin:0 auto'; var hArr=[];//存放每一列高的数组 for(var i=0;i<oBoxs.length;i++){//遍历所有class为oBoxs的元素 if(i<cols){ hArr.push(oBoxs[i].offsetHeight); } } console.log(hArr);}//根据class获取元素function getByClass(parent,clsName){ var boxArr=new Array(),   oElements=parent.getElementsByTagName('*'); for(var i=0;i<oElements.length;i++){ boxArr.push(oElements[i]); } return boxArr;}function getMinIndex(arr,val){ for(var i in arr){ if(arr[i]==val){ return i; } }}
查看完整描述

1 回答

?
qq_药药_0

TA贡献52条经验 获得超27个赞

考虑过兼容性没有


查看完整回答
反对 回复 2017-05-17
  • 1 回答
  • 0 关注
  • 1833 浏览
慕课专栏
更多

添加回答

举报

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