亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不是第二行的第一張圖片?

css代碼

---------------------------------------------

*{

margin: 0;

padding: 0

}


#main{

position:relative;?

}


.box{padding: 15px 0 0 15px;float: left;}


.pic{

padding: 10px;

border: 1px solid #ccc;

border-radius:5px;

box-shadow: 0 0 5px #ccc;

}


.pic img{

width: 230px;

height: auto;

}

-----------------------------------

js代碼

-----------------------------------

window.onload=function(){

waterfall('main','box');

}

function waterfall(parent,box){

//將main下的所有claa 為box的元素取出來

var oParent=document.getElementById(parent);

var oBoxs=getByClass(oParent,box);

//console.log(oBoxs.length);

//計算整個頁面顯示的列數(頁面寬/box的寬)

var oBoxW=oBoxs[0].offsetWidth;

//console.log(oBoxW);//267=圖片寬度230+內邊距10*2+邊框寬度1*2+15

var cols=Math.floor(document.documentElement.clientWidth/oBoxW);

//console.log(cols);

//設置main的寬,屬性style.cssText可以使css樣式以字符串形式設置進來

oParent.style.cssText='width:'+oBoxW*cols+'px;margin:0 auto';

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);

/*apply方法能劫持另外一個對象的方法,

繼承另外一個對象的屬性.

Function.apply(obj,args)方法能接收兩個參數

obj:這個對象將代替Function類里this對象

args:這個是數組,它將作為參數傳給Function.*/

//console.log(minH);

var index=getMinhIndex(hArr,minH);

oBoxs[i].style.position='absolute';

oBoxs[i].style.top=minH+'px';

oBoxs[i].style.left=oBoxW*index+'px';

}

}

console.log(hArr);

}

//根據class獲取元素

function getByClass(parent,clsName){

var boxArr=new Array(),//用來存儲獲取到的所有class 為box的元素

oElements=parent.getElementsByTagName('*');

for(var i=0;i<oElements.length;i++){

if(oElements[i].className==clsName){

boxArr.push(oElements[i]);

}

}

return boxArr;

}


function getMinhIndex(arr,val){

for(var i in arr){//遍歷arr數組

if(arr[i]==val){

return i;

}

}

}

-----------------------

http://img1.sycdn.imooc.com//572856490001cf7b05290568.jpg

正在回答

1 回答

沒有更新數組hArr

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么不是第二行的第一張圖片?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號