為什么chrome打印第一行盒子的高度offsetHeight都是55px?
function waterfall(parent,box){
? ?var oParent=document.getElementById(parent);
? ?//獲取盒子對象
? ?var oBoxs=getByClass(oParent,box);
? ?//計算整個頁面顯示圖片的列數(shù)(瀏覽器寬度/盒子的寬度)
? ?var oBoxW=oBoxs[0].offsetWidth;
? ?var cols=Math.floor(document.documentElement.clientWidth/oBoxW);
? ?//設(shè)置main盒子寬度
? ?oParent.style.cssText='width:'+oBoxW*cols+'px;margin:0 auto';
? ?/*圖片排序*/
? ?//存放每列高度的數(shù)組,else表明已經(jīng)到了第二行,第一行不需要排序
? ?var hArr=[];
? ?for(var i=0;i<oBoxs.length;i++){
? ? ? ?if(i<cols){
? ? ? ? ? ?hArr.push(oBoxs[i].offsetHeight);
? ? ? ?}/*else{
? ? ? ? ? ?var minH=Math.min.apply(null,hArr);
? ? ? ? ? ?var index=getMinhIndex(hArr,minH);
? ? ? ? ? ?oBoxs[i].style.position='absolute';
? ? ? ? ? ?oBoxs[i].style.top=minH+'px';
? ? ? ? ? ?oBoxs[i].style.left=oBoxW*index+'px';
? ? ? ? ? ?//oBoxs[i].style.left=oBoxs[index].offsetLeft+'px';
? ? ? ? ? ?hArr[index]+=oBoxs[i].offsetHeight;
? ? ? ?}*/
? ?}
? ?alert(oBoxs[0].offsetHeight)
}
2016-05-13
依次輸入也是一樣的,每一個高度都是55px
2016-05-10
?alert(oBoxs[0].offsetHeight)
你這里輸入的始終是oBoxs[0],也就是第一個box的高度啊。要依次輸出每一個的高度,改成oBox[i].offsetHeight