基于JavaScript实现瀑布流布局

原创 Fly丶 教程 js 92阅读 28 天前 举报

1、html+css+js代码:

2、思路分析
首先做出静态布局来。先计算出一行放多少个元素,然后再让下一个元素放入第二行中,然后我们要计算出,放入第二行的第一个元素要放在哪个位置,故我们应该有一个数组用来存放每列的高度,当静态的这些元素都放进去之后,可以更加完善,比如当拖动滚动条的时候,页面刷新,更多元素填充,这里要用到json。
3、实现过程

1.初始的静态页面通过css来实现
2.静态的瀑布流布局,先要获取到父级对象main下面的所有类为pin的元素,然后计算一行中有几个块,此时用当前屏幕的宽度去除一个块的宽度,得到num。然后用一个数组,用来存储一行中每列的高度,通过循环,找出最小的高度,以及最小高度的下标值,然后用绝对定位设置高度。
3.当鼠标滚动的时候,通过一个函数来检查是否需要加载新的图片元素,这里用一个变量lastpinh计算出最后一个元素距离顶部的高度和自身高度的一半之和,当页面的高度与滚动出去的高度之和大于最后一个的高度时,触发事件,添加新的元素,以及调整布局。
4、需要掌握知识点:

json的数据存储

这些些知识点,还不是很熟练,有错误欢迎大家指出来,谢谢大家。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复