正在回答 回答被采纳积分+1
现在又是错误不断 说找不到高度了 everyHeight[i]=boxes[i].height()+40;这句没有问题啊
$(document).ready(function(e){
var main= $('#main')
var boxes= $('#main').children('div');
waterfall(main,boxes);
});
function waterfall(main,boxes){ //> 空格,是包含元素>代表所有main下的div 而空格是代表main下的所有子元素
var boxes= $('#main').children('div');
var boxWidth=boxes.eq(0).width()+40;//outerWidth代表宽度+padding+边框的值
var windowWidth=$(window).width();
var colsNumber=Math.floor(windowWidth/boxWidth);
//设置容器的宽度
main.width(boxWidth*colsNumber).css('margin','0 auto');
//定义每个高度
var everyHeight= new Array();
for (var i = 0;i<boxes.length ;i++) {
if(i < colsNumber){
everyHeight[i]=boxes[i].height()+40;
}
else{
var minHeight=Math.min.apply(null,everyHeight)
//var index= minIndex(everyHeight,minHeight)
var index=$.inArray(minHeight,everyHeight);
boxes.eq(i).style.position='absolute';
boxes.eq(i).style.top=minHeight+'px';
boxes.eq(i).style.left=boxwidth*index+'px';
boxes.eq(i).style.left=boxes.eq(index).offsetLeft+'px';
everyHeight.eq(index)+=boxes.eq(i).offsetHeight+20;
}
}
}
还是出错呢
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星