瀑布流

瀑布流

<!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() {
                                //封裝一個產(chǎn)生指定范圍內(nèi)隨機數(shù)的產(chǎn)生
                                function random(min, max) {
                                        return parseInt(Math.random() * (max - min) + min);
                                }
                                //獲取到所有的ul標(biāo)簽
                                var uls = document.getElementsByTagName("ul");
                                //封裝 一個創(chuàng)建li標(biāo)簽的函數(shù),根據(jù)傳入數(shù)字n,創(chuàng)建出li n 個
                                function creatLi(count) {
                                        //使用循環(huán)來創(chuàng)建li  count 個   li
                                        for(var i = 0; i < count; i++) {
                                                //創(chuàng)建li
                                                var li = document.createElement("li")
                                                li.innerHTML = i;
                                                li.style.height = random(100, 300) + "px";
                                                //把li拼接進ul中:高度最短的ul中
                                                //創(chuàng)建一個變量用來保存最短的ul標(biāo)簽
                                                //創(chuàng)建一個最小值,比最小的小,找到最小值,賦給minHeightUl
                                                var minHeightUl = uls[0];
                                                for(var j = 0; j < uls.length; j++) {
                                                        if(minHeightUl.offsetHeight > uls[j].offsetHeight) {
                                                                minHeightUl = uls[j];
                                                        }
                                                }
                                                //經(jīng)過for循環(huán)尋找后,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>

復(fù)制代碼
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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 瀑布流典型網(wǎng)站 花瓣網(wǎng)、堆糖 [目錄] 瀑布流布局原理大體思路具體思路 插件封裝(5步) 動態(tài)渲染需求分析渲染第一...
    頑皮的雪狐七七閱讀 4,082評論 0 6
  • 1.瀑布流布局 思路:要求:當(dāng)圖片寬度相同,高度不同時;如何做一面圖片墻;每次圖片加載到每列最低的位置;1.圖片的...
    饑人谷_楠柒閱讀 2,695評論 2 54
  • 早飯后,我們都在門廊里,大門全開,正對著路邊自家那小片菜地,清清綠綠的長豆角,黃瓜藤,地頭的石榴,鄰家地里的茄子…...
    吟嘯慢行閱讀 475評論 4 2
  • 本來想著從此刻起語調(diào)要放低放低,禁止動手,盡量變成一個淑女媽媽,想不到都還沒正式開始,就火山爆發(fā)了一樣,還發(fā)生了兩...
    紅豬豬閱讀 194評論 17 2
  • 正確打開九月的方式 你什么時候最理直氣壯? 明明很真誠地對待一份感情卻被遭誤解?費...
    一甄妮一閱讀 400評論 0 1

友情鏈接更多精彩內(nèi)容