瀑布流

瀑布流

<!DOCTYPE html>
<html>

        <head>
                <meta charset="UTF-8">
                <title></title>
                <style type="text/css">
                        * {
                                margin: 0;
                                padding: 0;
                        }
                        
                        .wrap {
                                margin: 20px auto 0;
                                width: 90%;
                                border: 1px solid red;
                                overflow: hidden;
                        }
                        
                        .wrap ul {
                                float: left;
                                width: 24%;
                                margin: 10px 0.5%;
                                list-style: none;
                        }
                        
                        .wrap ul li {
                                font-size: 50px;
                                text-align: center;
                                background-color: firebrick;
                                margin: 10px 0;
                        }
                </style>
                <script type="text/javascript">
                        window.onload = function() {
                                //封装一个产生指定范围内随机数的产生
                                function random(min, max) {
                                        return parseInt(Math.random() * (max - min) + min);
                                }
                                //获取到所有的ul标签
                                var uls = document.getElementsByTagName("ul");
                                //封装 一个创建li标签的函数,根据传入数字n,创建出li n 个
                                function creatLi(count) {
                                        //使用循环来创建li  count 个   li
                                        for(var i = 0; i < count; i++) {
                                                //创建li
                                                var li = document.createElement("li")
                                                li.innerHTML = i;
                                                li.style.height = random(100, 300) + "px";
                                                //把li拼接进ul中:高度最短的ul中
                                                //创建一个变量用来保存最短的ul标签
                                                //创建一个最小值,比最小的小,找到最小值,赋给minHeightUl
                                                var minHeightUl = uls[0];
                                                for(var j = 0; j < uls.length; j++) {
                                                        if(minHeightUl.offsetHeight > uls[j].offsetHeight) {
                                                                minHeightUl = uls[j];
                                                        }
                                                }
                                                //经过for循环寻找后,minHeightUl保存的最小值,在拼接进li中
                                                minHeightUl.appendChild(li);

                                        }
                                        var body = document.getElementsByTagName("body")[0];
                                        var html = document.getElementsByTagName("html")[0];
                                        window.onscroll = function() {
                                                for(var k = 0; k < 4; k++) {
                                                        if(body.scrollTop >= uls[k].offsetHeight - html.clientHeight) {
                                                                creatLi(30);
                                                        }
                                                }
                                        }
                                }
                                creatLi(30)
                        }
                </script>
        </head>

        <body>
                <div class="wrap">
                        <ul></ul>
                        <ul></ul>
                        <ul></ul>
                        <ul></ul>
                </div>
        </body>

</html>

复制代码
1、1 瀑布流方法二(考虑浏览器兼容)

//方法二
                                        /*var wrap = document.getElementById("wrap");
                                        window.onscroll = function() {
                                                if((document.documentElement.scrollTop || document.body.scrollTop) >= wrap.offsetHeight - document.documentElement.clientHeight) {
                                                        //console.log(document.documentElement.scrollTop || document.body.scrollTop);
                                                        //console.log(wrap.offsetHeight);
                                                        creatLi(30);
                                                }
                                        }

                                }*/

来源: http://10.0.88.88:8083/forum.php?mod=viewthread&tid=43756

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 瀑布流典型网站 花瓣网、堆糖 [目录] 瀑布流布局原理大体思路具体思路 插件封装(5步) 动态渲染需求分析渲染第一...
    顽皮的雪狐七七阅读 9,434评论 0 6
  • 1.瀑布流布局 思路:要求:当图片宽度相同,高度不同时;如何做一面图片墙;每次图片加载到每列最低的位置;1.图片的...
    饥人谷_楠柒阅读 7,451评论 2 54
  • 早饭后,我们都在门廊里,大门全开,正对着路边自家那小片菜地,清清绿绿的长豆角,黄瓜藤,地头的石榴,邻家地里的茄子…...
    吟嘯慢行阅读 3,177评论 4 2
  • 本来想着从此刻起语调要放低放低,禁止动手,尽量变成一个淑女妈妈,想不到都还没正式开始,就火山爆发了一样,还发生了两...
    红猪猪阅读 1,369评论 17 2
  • 正确打开九月的方式 你什么时候最理直气壮? 明明很真诚地对待一份感情却被遭误解?费...
    一甄妮一阅读 2,806评论 0 1

友情链接更多精彩内容