美文网首页
复杂瀑布流

复杂瀑布流

作者: lucky_yao | 来源:发表于2020-10-21 08:46 被阅读0次
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                * {
                    margin: 0;
                    padding: 0;
                }
    
                #warp {
                    width: 800px;
                    margin: 0 auto;
                    border: 1px solid red;
                }
    
                ul {
                    list-style: none;
                    float: left;
                    width: 198px;
                }
    
                .oli {
                    width: 100%;
                    height: 198px;
                    background: blue;
                    border: 1px solid yellow;
                    font-size: 100px;
                    color: #fff;
                    text-align: center;
                }
            </style>
        </head>
        <body>
            <div id="warp">
                <ul></ul>
                <ul></ul>
                <ul></ul>
                <ul></ul>
            </div>
        </body>
        <script type="text/javascript">
            var oul = document.getElementsByTagName('ul');
            var n = 1;
    
            function random(min, max) {
                return parseInt(Math.random() * (max - min)) + min;
            }
    
            function caeta() {
                for (var i = 0; i < 20; i++) {
                    //大的循环里面分为3部分
                    //1部分代码的主要作用 是创建li标签,并且给li标签添加样式,添加序号
                    var oli = document.createElement('li');
                    oli.setAttribute('class', 'oli');
                    oli.innerHTML = n++;
                    oli.style.height=random(100,400)+'px'
                    oli.style.backgroundImage = 'url(images/' + i + '.jpg)';
                    oli.style.backgroundPosition = '40% 50%';
                    //2创建一个空数组,循环吧所有ul的高度放入到数组里面去
                    var arr = []; //arr=[198,0,0,0]  
                    for (var j = 0; j < oul.length; j++) {
                        arr.push(oul[j].offsetHeight);
                    }
                    //              console.log(arr)
                    var minH = arr[0]; //minH=198
                    //3这么给所有ul分陪创建好的li标签
                    var index = 0;
                    //循环ul的长度
                    for (var k = 0; k < oul.length; k++) {
                        //让minH的值和所有ul的值进行比较
                        if (minH > oul[k].offsetHeight) {
                            minH = oul[k].offsetHeight;
                            index = k;
                        }
                    }
                    oul[index].appendChild(oli);
    
                }
            }
            caeta()
            window.onscroll = function() {
                //获取滚动条的值
                var h = document.documentElement.scrollTop || document.body.scrollTop;
                //获取可视区域的高度值
                var clienH = document.documentElement.clientHeight;
                //获取页面的高度值
                var pageH = document.documentElement.offsetHeight;
                //          console.log(pageH)//1002
                //          console.log(clienH)//969
                //          console.log(h)//33
                if (h >= (pageH - clienH)) {
                    caeta();
                }
            }
        </script>
    </html>
    
    

    相关文章

      网友评论

          本文标题:复杂瀑布流

          本文链接:https://www.haomeiwen.com/subject/mticmktx.html