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

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

求問:js瀑布流布局新增的與原先的圖片出現了重疊,是哪里出現了問題?應該怎么解決?

window.onload = function(){

waterfall("main","box");

var dataInt={"data":[{"src":'1.jpg'},{"src":'2.jpg'},

{"src":'3.jpg'},{"src":'4.jpg'},{"src":'5.jpg'},

{"src":'6.jpg'},{"src":'7.jpg'},{"src":'8.jpg'},

{"src":'9.jpg'},{"src":'10.jpg'},{"src":'11.jpg'},]}

window.onscroll=function(){

if (checkScrollSlide) {

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

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

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

oImg.src=dataInt.data[i].src;

oPic.appendChild(oImg);

}

}

}

}

function checkScrollSlide(){

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

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

var lastBoxH = oBoxs[oBoxs.length-1].offsetTop+

Math.floor(oBoxs[length-1].height/2);

var scrollTop = document.body.scrollTop ||?

document.documentElement.scrollTop;

var height = document.body.clientHeight ||

document.documentElement.clientHeight;

return (lastBoxH<scrollTop+height)?true:false;

}

function waterfall(parent,content){

var oParent = document.getElementById(parent);

var oBoxs = getByClass(oParent,content);

var oBoxw = oBoxs[0].offsetWidth;

var cols=Math.floor(

document.documentElement.clientWidth/oBoxw);

oParent.style.cssText="width:"+oBoxw*cols+"px;margin:0 auto";

var hArr = new Array;

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

if(i<cols){

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

}else{

var minH=Math.min.apply(null,hArr);

var index=getMinHindex(hArr,minH);

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

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

oBoxs[i].style.left=oBoxs[index].offsetLeft+"px";

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

}

}


}

function getMinHindex(arr,val){

for(var i in arr){

if (arr[i]==val) {

return i;

}

}

}

function getByClass(parent,clname){

var boxArr = new Array;

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

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

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

boxArr.push(oElements[i]);

}

}

return boxArr;

}


正在回答

1 回答

waterfall("main","box");需要在if (checkScrollSlide)里面再執行一次

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

aladdinx 提問者

非常感謝!
2016-04-21 回復 有任何疑惑可以回復我~
#2

小餅砸會開花 回復 aladdinx 提問者

具體是要加在哪里呀?可以告訴我一下嗎?
2017-03-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求問:js瀑布流布局新增的與原先的圖片出現了重疊,是哪里出現了問題?應該怎么解決?

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

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

幫助反饋 APP下載

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

公眾號

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