Uncaught TypeError: Cannot read property 'style' of null一樣的代碼為什么就是這個(gè)樣子了
?
? ? ? ? window.onload=function(){
? ? ? ? ? ? waterFall('main','box');
? ? ? ? }
? ? ? ? function waterFall(parent,box){
//將main下的所有box類取出來
? ? ? ? ? ? var oParent=document.getElementById(parent);
? ? ? ? ? ? var num=getByClass(oParent,box);
? ? ? ? ? ? console.log(num.length);
//計(jì)算整個(gè)頁面顯示的列數(shù)(頁面寬/box的寬)
? ? ? ? ? ? var oBoxW=num[0].offsetWidth;
? ? ? ? ? ? console.log(oBoxW);
?//對算出來的值取整
? ? ? ? ? ? var cols=Math.floor(document.documentElement.clientWidth/oBoxW);
//設(shè)置main的寬度
? ? ? ? ? ? oParent.style.cssText='width:'+oBoxW*cols+'px;margin:0 auto;';
//存放每一列的高度
? ? ? ? ? ? var harr=[];
? ? ? ? ? ? for(var i=0;i<num.length;i++){
? ? ? ? ? ? ? ? if(i<cols){
? ? ? ? ? ? ? ? ? ? harr.push(num[i].offsetHeight);
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? //求數(shù)組中的最小值
? ? ? ? ? ? ? ? ? ? var minh=Math.min.apply(null,harr); //求每一列圖片的最小高度
? ? ? ? ? ? ? ? ? ? var index=getMinhIndex(harr,minh);
? ? ? ? ? ? ? ? ? ? num[i].style.position='absolute';
? ? ? ? ? ? ? ? ? ? num[i].style.top=minh+'px';
//num[i].style.left=oBoxW*index+'px';
? ? ? ? ? ? ? ? ? ? num[i].style.left=num[index].offsetLeft+'px';
? ? ? ? ? ? ? ? ? ? harr[index]+=num[i].offsetHeight;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? console.log(harr); ? ? ? ?}
? ? ? ? //根據(jù)class獲取元素
? ? ? ? function getByClass(parent,clsName){
? ? ? ? ? ? var oBox=new Array(); //用來存取獲取到的class為box的類
? ? ? ? ? ? var oElements=document.getElementsByTagName('*');
? ? ? ? ? ? for(var i=0; i<oElements.length;i++){
? ? ? ? ? ? ? ? if(oElements[i].className==clsName){
? ? ? ? ? ? ? ? ? ? oBox.push(oElements[i]);//把一個(gè)值加入到數(shù)組當(dāng)中
? ? ? ? ? ? ? ? }
? ? ? ? ? ? };
? ? ? ? ? ? return oBox;
? ? ? ? }
? ? ? ? function getMinhIndex(arr,minh){
? ? ? ? ? ? for(var i in arr){
? ? ? ? ? ? ? ? if(arr[i]==minh){
? ? ? ? ? ? ? ? ? ? return i;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
2016-04-09
同問啊,我也出現(xiàn)這個(gè)問題
2016-02-24
上面定義的是oParents,下面寫的是oParent.style...明白哪里錯(cuò)了吧?如果還出現(xiàn)這個(gè)錯(cuò)誤,再檢查下其他的有沒有錯(cuò)
2016-02-17
神啊,真想給你看看,可是你提問也得告訴俺哪一行出錯(cuò)撒,全貼出來咋整,不看