第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

第12行 為什么我在setTimeout里面創(chuàng)建class為loading的div,不會(huì)跟著在后面顯示?

第12行 為什么我在setTimeout里面創(chuàng)建class為loading的div,不會(huì)跟著在后面顯示,而在最頂顯示?

window.onload=function(){

waterfall('main','box');

var dataInt={"data":[{"src":"24.jpg"},{"src":"25.jpg"},{"src":"26.jpg"},{"src":"27.jpg"},{"src":"28.jpg"}]}


window.onscroll=function(){

if(checkScrollSlide()){


var oParent=document.getElementById('main');

var oBoxs=getByClass(oParent,'box');


setTimeout(function(){

var oLoading=document.createElement('div');

oLoading.innerHTML='Loading';

oLoading.style.width="100%";

oLoading.style.height="10px";

oLoading.style.background="red";

oLoading.style.position="absolute";

oParent.appendChild(oLoading);

},1000);

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


var oBox=document.createElement('div');

oBox.className='box';

oParent.appendChild(oBox);

var oPic=document.createElement('div');

oPic.className='pic';

oBox.appendChild(oPic);

oBoxs.push(oBox);

var oImg=document.createElement('img');

oImg.src="images/"+dataInt.data[i].src;

oPic.appendChild(oImg);


//將數(shù)據(jù)塊渲染到頁面的尾部

}



window.onscroll=null;

waterfall('main','box');

}

}

}


function waterfall(parent,box){

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

var oParent=document.getElementById('main');

var oBoxs=getByClass(oParent,box);

//計(jì)算整個(gè)頁面顯示的列數(shù)(頁面寬/box寬度)

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

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=getMinIndex(hArr,minH);

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

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

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

hArr[index]+=oBoxs[i].offsetHeight;

}

}


}

function getMinIndex(arr,val){

for(var i in arr){

if(arr[i]==val){

return i;

}

}

}

function getByClass(parent,cls){

var boxArr=[];

var oElements=parent.getElementsByTagName('*');

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

{

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

boxArr.push(oElements[i]);

}

}

return boxArr;

}

//滾動(dòng)是否具備加載數(shù)據(jù)塊的條件

function checkScrollSlide(){

var oParent=document.getElementById('main');

var oBoxs=getByClass(oParent,'box');

var lastBoxH=Math.floor((oBoxs[oBoxs.length-1].offsetHeight)/2+oBoxs[oBoxs.length-1].offsetTop);

var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;

var clientHeight=document.body.clientHeight||document.documentElement.clientHeight;

return (scrollTop+clientHeight>lastBoxH)?true:false;

}


正在回答

1 回答

setTimeOut只在設(shè)置的時(shí)間段之后執(zhí)行一次,每隔一段時(shí)間執(zhí)行需要用setInterval方法

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉18813290620 提問者

不是這個(gè)問題,我解決了
2016-08-12 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

第12行 為什么我在setTimeout里面創(chuàng)建class為loading的div,不會(huì)跟著在后面顯示?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)