利用JQuery制作一个瀑布流

今天通过看视频,了解到瀑布流的实现方式。

$(document).ready(function(){

    $(window).on("load",function(){
        imgLocaton();
    });
});
function imgLocaton(){
    var box=$(".box");
    var boxWidth=box.eq(0).width();//因为所有的宽度都相同所以任意一个的高度就代表所有元素的高度
    var Num=Math.floor($(window).width()/boxWidth);//摆放个数
//    console.log(Num);
    var boxArr =[];//定义一个数组用来存放所有元素的高度。
    box.each(function(index,value){//利用each循环用来遍历数组。两个参数一个是索引某一个元素
    //另一个参数的含义是获取一个元素的对象
    console.log(index+"--"+value);
    var boxHeight=box.eq(index).height();
    if(index<Num){
        boxArr[index]=boxHeight;
//        console.log(boxArr);
    }
    else{
        var minboxHeight=Math.min.apply(null,boxArr);//获取某一排最小高度
//        console.log(minboxHeight);
        var minboxIndex =$.inArray(minboxHeight,boxArr);
//        console.log(minboxIndex);
//        console.log(value);
        $(value).css({
            "position":"absolute",
            "top":minboxHeight,
            "left":box.eq(minboxIndex).position().left
        });
        boxArr[minboxIndex]+=box.eq(index).height();
    }
    });
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uniquewdl

匆忙的人生,总有你喜欢的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值