为了账号安全,请及时绑定邮箱和手机立即绑定

为什么刷新过后图片的位置会变化?而且left定义要加上居中外面的Px.每刷新一次,图片位置就不一样


$(function(){

waterfall();

});

var waterfall = function(){

var $boxs = $("#main>div");

var w = $boxs.eq(0).outerWidth();

//获取列数

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

}

})

}


正在回答

1 回答

你是不是缩小浏览器窗口? 图片的位置会改变。 你缩小窗口 刷新后会重新获取窗口的 宽度   窗口宽度变小  相应的列数就会变小  图片的位置就变小。 为什么要加上px  因为   minh 和minhindex的值 是数字  left的值是要有单位的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么刷新过后图片的位置会变化?而且left定义要加上居中外面的Px.每刷新一次,图片位置就不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信