window.onload=function(){ waterfall('main','box');}//將main下的所有class為box的元素取出來(lái)function waterfall(parent,box){ var oParent=document.getElementById(parent); var oBoxs=getByClass(oParent,box); //計(jì)算整個(gè)頁(yè)面顯示的列數(shù)(頁(yè)面寬/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=[];//存放每一列高的數(shù)組 for(var i=0;i<oBoxs.length;i++){//遍歷所有class為oBoxs的元素 if(i<cols){ hArr.push(oBoxs[i].offsetHeight); } } console.log(hArr);}//根據(jù)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; } }}
為什么我用offsetheight獲取的box的高度存放到數(shù)組后,在控制臺(tái)打印的結(jié)果與實(shí)際高度不相符
慕瓜3745345
2017-05-16 18:58:33