六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

瀑布流布局完成的代碼

[摘要]這篇文章給大家介紹的內容是關于瀑布流布局實現的代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。index.html<!DOCTYPE html> <html> <head> <meta charset="UTF-8"...
這篇文章給大家介紹的內容是關于瀑布流布局實現的代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>waterfall layout</title>
<link type="text/css" href="./imgs/wf.css" rel="stylesheet"/> 
<script type="text/javascript" src="./imgs/wf.js"></script>
</head>
<body>
<div id="main">
    <div class="box">
        <div class="pic">
            <img src="imgs/0.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/1.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/2.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/3.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/4.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/5.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/6.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/7.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/8.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/9.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/10.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/11.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/12.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/13.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/14.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/15.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/16.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/17.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/18.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/19.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/20.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/21.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/22.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/23.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/24.jpg"/>
        </div>
    </div>
    <div class="box">
        <div class="pic">
            <img src="imgs/25.jpg"/>
        </div>
    </div>
</div>
</body>
</html>
  • wf.css

@CHARSET "UTF-8";
*{margin:0;padding:0}
#main{
    position: relative;
    margin: 10px auto 0 auto;
}
.box{
    float:left;
    padding: 0 0 15px 15px; 
}
.pic{
    border: 1px solid #ccc;
    padding: 10px;
}
.box img{
    width: 200px;
    height: auto;
}
  • wf.js

window.onload = function(){
    waterfall();
    //要加載的數據,暫時寫一個固定數據
    var dataInt = {"data":[{"src":'3.jpg'},{"src":'13.jpg'},{"src":'23.jpg'},{"src":'1.jpg'}]};
    //一個判斷拖動滾動條后是否加載新內容的方法
    window.onscroll = function(){
        if(checkScrollSlide()){
            //將數據塊渲染到當前頁的尾部
            for(var i = 0; i < dataInt.data.length;i++){
                var parent = document.getElementById('main');
                var newBox = document.createElement('p');
                newBox.className = 'box';
                parent.appendChild(newBox);
                var newPic = document.createElement('p');
                newPic.className = 'pic';
                newBox.appendChild(newPic);
                var newImg = document.createElement('img');
                newImg.src = "./imgs/" + dataInt.data[i].src;
                newPic.appendChild(newImg);
                waterfall();
            }
        }
    }
}
function waterfall(){
    var parent = document.getElementById("main");
    //寫一個方法根據類名box,找到所有節點
    var boxArr = getByClass(parent,'box');
    //console.log(boxArr.length);//26,檢驗是否獲取到
    var bodyWidth = document.body.clientWidth;
    //document.body.clientWidth  窗口實時顯示時的body的寬度
    var colWidth = boxArr[0].offsetWidth;//box p的寬度
    var cols = Math.floor(bodyWidth / colWidth);
    //給main p一個寬度,從而讓顯示內容不會隨著浮動,改變布局
    var mainWidth = colWidth * cols;
    parent.style.cssText = 'width:' + mainWidth + 'px;';
    var colsHeight = [];//放列高度的數組
    for(var i = 0; i < boxArr.length;i++){
        var iBox = boxArr[i];
        if(i < cols){
            colsHeight.push(iBox.offsetHeight);
        }else{
            var rArr = searchMin(colsHeight);
            var index = rArr[0];
            var minH = rArr[1];
            var left = parseInt(index * colWidth);
            var top = minH;
            iBox.style.position = "absolute";
            iBox.style.left = left + 'px';
            iBox.style.top = top + 'px';
            colsHeight[index] += iBox.offsetHeight;
        }
    }
}

function getByClass(parent,clsName){
    //用通配符獲得prent下的所有標簽節點
    var allTags = document.getElementsByTagName("*");
    var arr = new Array();
    for(var i = 0; i < allTags.length;i++){
        if(allTags[i].className == clsName){
            arr.push(allTags[i]);
        }
    }
    return arr;
}
function searchMin(arr){
    var min = arr[0];
    var index = 0;
    for(var j = 0; j < arr.length; j++){
        if(arr[j] < min){
            min = arr[j];
            index = j;
        }
    }
    return [index,min];    
}
function checkScrollSlide(){
    var parent = document.getElementById('main');
    var boxArr = getByClass(parent,'box');
    var lastBox = boxArr[boxArr.length-1];
    var lbHeight = lastBox.offsetTop+Math.floor(lastBox.offsetHeight/2);
    console.log(lbHeight);
    var slideH = document.body.scrollTop    document.documentElement.scrollTop;
    console.log(slideH);
    var winH = document.body.clientHeight    document.documentElement.clientHeight;
    console.log(winH);
    var swHeight = slideH + winH;
    return (lbHeight < swHeight) ? true : false;
}

相關文章推薦:

div標簽:水平居中和垂直居中的實現(附代碼)

css box-sizing屬性(盒子模型)的用法介紹

以上就是瀑布流布局實現的代碼的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




主站蜘蛛池模板: 天堂资源bt在线官网 | 亚洲成年男人的天堂网 | 热伊人99re久久精品最新地 | 午夜色片 | 中文字幕不卡免费视频 | 四虎影视国产在线观看精品 | 亚洲欧美综合一区 | 亚洲视频网站在线观看 | 日韩毛片 | 婷婷综合缴情亚洲五月伊 | 日韩色综合 | 日韩视频免费在线 | 日干夜操| 欧美一级三级在线观看 | 青青青视频在线免费观看 | 在线久综合色手机在线播放 | 亚洲图片欧美 | 亚洲综合色在线 | 一级黄色片免费播放 | 亚洲成人免费网址 | 深夜成人福利视频 | 四虎精品成人免费观看 | 伊人久久综合成人网小说 | 天堂中文在线资源 | 日本免费久久 | 中文字幕一二三四区 | 日本强不卡在线观看 | 天堂综合 | 色婷婷久久合月综 | 无颜之月第05集免费观看 - 83屋 | 欧美一区二区三区免费观看视频 | 最近日本韩国观看 | 亚洲国产高清在线精品一区 | 婷婷丁香六月 | 人妖女天堂视频在线96 | 伊人久久大香现线蕉 | 特级中国aaa毛片 | 晚上正能量91香蕉 | 日韩无人区码卡二卡3卡4卡介绍 | 亚洲mv在线观看 | 中文字幕成人 |