老師,我將游覽器的界面變窄,拉動下拉框都是正常的還可以自適應。但是當我再把游覽器見面恢復全屏的時候,向下拉動滾動條的時候,照片不能自適應,同時還會重疊在一起,為什么啊?
煮熟的三文魚
2014-08-28
2 回答
舉報
0/150
提交
取消
2015-05-23
function?waterfall(parent,pin){ ????var?oParent=document.getElementById(parent);//?父級對象 ????var?aPin=getClassObj(oParent,pin);//?獲取存儲塊框pin的數組aPin ????var?iPinW=aPin[0].offsetWidth;//?一個塊框pin的寬 ????var?num=Math.floor(document.documentElement.clientWidth/iPinW);//每行中能容納的pin個數【窗口寬度除以一個塊框寬度】 ????oParent.style.cssText='width:'+iPinW*num+'px;margin:0?auto;';//設置父級居中樣式:定寬+自動水平外邊距 ????var?pinHArr=[];//用于存儲?每列中的所有塊框相加的高度。 ????for(var?i=0;i<aPin.length;i++){//遍歷數組aPin的每個塊框元素 ????????var?pinH=aPin[i].offsetHeight; ????????if(i<num){ ????????????pinHArr[i]=pinH;?//第一行中的num個塊框pin?先添加進數組pinHArr ????????????aPin[i].style.cssText='';?//加上這句就可以了,清掉第一行的style屬性 ????????}else{ ????????????var?minH=Math.min.apply(null,pinHArr);//數組pinHArr中的最小值minH ????????????var?minHIndex=getminHIndex(pinHArr,minH); ????????????aPin[i].style.position='absolute';//設置絕對位移 ????????????aPin[i].style.top=minH+'px'; ????????????aPin[i].style.left=aPin[minHIndex].offsetLeft+'px'; ????????????//數組?最小高元素的高?+?添加上的aPin[i]塊框高 ????????????pinHArr[minHIndex]+=aPin[i].offsetHeight;//更新添加了塊框后的列高 ????????} ????} }2015-05-23
因為變窄的時候已經給掉下去的圖片加上了position屬性和top,left值;而放大窗口的時候他們本該重回第一列的時候這些style屬性沒有清掉;