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

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

為什么我做的和老師做出的效果不一樣

<script?type="text/javascript">
window.onload=function(){
waterfall('main','box');
}
function?waterfall(parent,box){
//將main下的所有class為box的元素取出來
var?oParent=document.getElementById(parent);//取出大盒子
var?oBoxs=getByClass(oParent,box);
var?oBoxW=oBoxs[0].offsetWidth;
//計算整個頁面顯示的列數(頁面寬/box寬)
var?clos=Math.floor(document.documentElement.clientWidth/oBoxW);
//設置大盒子main的寬度
oParent.style.cssText='width:'+oBoxW*clos+'px;margin:0?auto';
var?hArr=[];//存放每一列高度的數組
for?(var?i?=?0;?i?<?oBoxs.length;i++)?{
if(i<clos){
hArr.push(oBoxs[i].offsetHeight);
}else{
var?minH=Math.min.apply(null,hArr);
//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';//方法一
oBoxs[i].style.left=oBoxs[index].offsetLeft+'px';//方法二
hArr[index]+=oBoxs[i].offsetHeight();
}
};
console.log(hArr);
}
//根據class獲取元素--封裝
function?getByClass(parent,clasName){
var?boxArr=new?Array(),//用來存儲獲取到的所有class為box的元素
oElements=parent.getElementsByTagName('*');
for?(var?i?=?0;?i?<?oElements.length;?i++)?{
if?(oElements[i].className==clasName)?{
boxArr.push(oElements[i]);
};
};
return?boxArr;
}
function?getMinhIndex(arr,val){
for?(var?i?in?arr)?{
if?(arr[i]==val)?{
return?i;
}?else{};
};
}
</script>

http://img1.sycdn.imooc.com//55ec0d5a0001bbbe17760662.jpg


正在回答

2 回答

26行:hArr[index]+=oBoxs[i].offsetHeight();

offsetHeight后面的括號

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

var?oBoxs=getByClass(oParent,box); 這個box打上引號就可以,但是我也不知道為什么函數調用什么時候打引號什么時候不打

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

舉報

0/150
提交
取消

為什么我做的和老師做出的效果不一樣

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

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

幫助反饋 APP下載

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

公眾號

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