别担心_有我陪着你
2015-07-30 14:44
浏览器先缩小打开网页,最大化后刷新,会有一部分空白,这个怎么解决???
你应该使用了 $(window).on("resize", waterfall); 这句监听器了窗口大小的变化吧。
试想,你先缩小再放大,就会产生这样的效果。这是为什么呢?原因是窗口变小后调用了waterfall方法,此时算出来的列数比原先的小,这时原先是处在第一行的图片现在到了第2行,那么到第2行的话就一定会被添加了 position:absolute属性。再放大的话,这个盒子又要”回到“第1行,但是它已经被添加了 position:absolute属性,所以它”回不去“了。因此,需要 在源代码中加上这么一句:
if(index < cols) {
$(value).removeAttr("style"); //移除style样式,配合 resize 事件(窗口变化时触发)
hArr[index] = h;
} else {
如果它是处在第1行,那么一定要先移除掉style属性,不管它有没有style属性了。
//按照浏览器最大化的宽度,6是经过测试得到
var cols = (Math.floor($(window).width()/w)<6)?6:Math.floor($(window).width()/w);
加上这一句可以解决,还有其他方法吗???
瀑布流布局
97759 学习 · 736 问题
相似问题