JS 图片瀑布流

<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0
        }
        .box{
            width:790px;
            margin:auto;
            position:relative;
            border:solid 1px red;
        }
        .small{
            width:70px;
            position:absolute;
        }
        .small_tu{
            width:100%;
            height:100%;
        }
    </style>
</head>
<body>
<div class="box">

</div>
<script>
    var box=document.getElementsByClassName("box")[0];
    var small=document.getElementsByClassName("small");
    var maxH=0;
    //创建并添加图片
    function creat_tu(num){
        for(var i=0;i<num;i++){
            var n=Math.ceil(Math.random()*15);
            var divs=document.createElement("div");
            divs.className="small";
            var tu=document.createElement("img");
            tu.src="img/"+n+".jpg";
            tu.className="small_tu";
            divs.appendChild(tu);
            box.appendChild(divs);
            divs.style.left=i%10*(70+10)+"px";
        }
    }
    creat_tu(70);
    function top_set(chu){
        for(var i=chu;i<small.length;i++) {
            if (i < 10) {
                small[i].style.top = "10px";
            }
            else {
       //small[i - 10].offsetTop 可以用parseInt(small[i - 10].style.top),top有单位把单位去掉
                var y=small[i - 10].offsetHeight+10+small[i - 10].offsetTop;
                small[i].style.top= y+ "px";
            }
            //设置父容器的高
            var height=small[i].offsetHeight+small[i].offsetTop;
            if(height>maxH) {
                maxH=height;
            }

        }
    }
    function hua(){
        var sh = document.documentElement.scrollHeight;
        var ch = document.documentElement.clientHeight;
        if (this.scrollY + ch >= sh - 10) {
            creat_tu(20);
           top_set(small.length - 20);
        }
    }
    window.onload=function(){
       top_set(0);
        box.style.height=maxH+10+"px";
        window.onscroll=hua;
    }

</script>
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值