為什么刷新過后圖片的位置會變化?而且left定義要加上居中外面的Px.每刷新一次,圖片位置就不一樣
$(function(){
waterfall();
});
var waterfall = function(){
var $boxs = $("#main>div");
var w = $boxs.eq(0).outerWidth();
//獲取列數(shù)
var cols = Math.floor($(window).width()/w);
var total = w*cols;
$("#main").width(total);
var hArr = [];
$boxs.each(function(index,value){
var h = $boxs.eq(index).outerHeight();
if(index<cols){
hArr[index] = h;
}else{
var minH = Math.min.apply(null,hArr);
var minHindex = $.inArray(minH,hArr);
$(value).css({
'position':'absolute',
'top':minH+'px',
'left':minHindex*w+'px'
});
hArr[minHindex] += $boxs.eq(index).outerHeight();
}
})
}
2016-09-07
你是不是縮小瀏覽器窗口? 圖片的位置會改變。 你縮小窗口 刷新后會重新獲取窗口的 寬度 ? 窗口寬度變小 ?相應(yīng)的列數(shù)就會變小 ?圖片的位置就變小。 為什么要加上px ?因為 ? minh 和minhindex的值 是數(shù)字 ?left的值是要有單位的