美文网首页
复杂瀑布流

复杂瀑布流

作者: 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