瀑布流的实现

瀑布流的特点:等宽不等高

瀑布流实现
1、获取图片的宽度
2、获取屏幕的宽度
3、获取展示的列数(屏幕宽度/图片宽度)
4、定义一个数组 存放图片的高度
5、遍历所有的图片 目的:定位图片的位置

代码

   $(function() {
        waterFall()
    })

    function waterFall() {

        var ImgWidth = $('imgs').width() //获取图片宽度
        var screenWidth = $(window).width(); //获取屏幕的宽度
        var cols = parseInt(screenWidth / img) //求出列数

        //创建一个数组  目的用于存放图片高度值
        var heightArr = []

        //遍历所有图片   目的定位图片的位置
        $.each(img, function(index, item) {
            var imgHeight = $(item).height() //获取图片的高度
                //判断是否是第一行  第一行的高度直接存放在数组中
            if (index < cols) {
                heightArr[index] = imgHeight
            } else {
                //最小高度值
                var minH = Math.min(...heightArr);
                //最小高度索引
                var mIndex = heightArr = heightArr.findIndex(item => item = minH)
                $(item).css({
                        postion: 'absolute',
                        top: minH + 'px',
                        left: mIndex * ImgWidth + 'px'
                    })
                    //最新最小高度的值
                heightArr[mIndex] += imgHeight
            }

        })

    }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值