跟著寫代碼,所有的console.log內容無法體調試,而且最終所要求的列數不變也沒有實現,下面是代碼,求教
window.onload=function{
waterfall('main','box');
}
function waterfall(parent,box){
//姜main下的所有的class為box的元素取出來
var oParent=document.getElementById(parent);
var oBoxs=getByClass(oParent,box);
//計算整個頁面顯示的列數(頁面寬度/box的寬度)
var oBoxW=oBoxs[0].offsetWidth;
var cols=Math.floor(document.documentElement.clienWidth/oBoxW);
//設置main的寬度
oParent.style.cssText='width:'+oBoxW*cols+'px;margin:0 auto;';
}
function getByClass(parent,clsName){
var boxArr=new Array(),//用來存儲獲取到的所有class元素
oElements=parent.getElementsByTagName("*");
for(var i=0;i<oElements.length;i++){
if(oElements[i].className==clsName){
boxArr.push(oElements[i]);
}
}
return boxArr;
}
2017-03-10
我也覺得沒區別,效果實現不了,按理說不應該定住列數不變的,列數在變,所以main的寬度也在變
2017-01-11
我把你的代碼復制過去可以用的,就是第一行function()后面少了一個括號
2016-11-01
我知道老師的視頻下面有源碼下載,你可以對比。