亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery實現瀑布流布局

2019-11-20 13:45:35
字體:
來源:轉載
供稿:網友

HTML

復制代碼 代碼如下:

 <div id="main">
         <div class="box">
             <div class="pic">
                 <img src="images/0.jpg" alt="">
             </div>
         </div>
         <div class="box">
             <div class="pic">
                 <img src="images/1.jpg" alt="">
             </div>
         </div>
         <div class="box">
             <div class="pic">
                 <img src="images/2.jpg" alt="">
             </div>
         </div>
         <div class="box">
             <div class="pic">
                 <img src="images/3.jpg" alt="">
             </div>
         </div>
         <div class="box">
             <div class="pic">
                 <img src="images/4.jpg" alt="">
             </div>
         </div>
         <div class="box">
             <div class="pic">
                 <img src="images/2.jpg" alt="">
             </div>
         </div>
 </div>

CSS

復制代碼 代碼如下:

 * {
     margin: 0;
     padding: 0;
 }
 #main {
     position: relative;
 }
 .box {
     padding:15px 0 0 15px;
     float:left;
 }
 .pic {
     padding: 10px;
     border: 1px solid #ccc;
     border-radius: 5px;
     box-shadow: 0px 0px 5px #ccc;
     img {
         width:165px;
         height:auto;
     }
 }

JavaScript

復制代碼 代碼如下:

 $(window).on("load",function () {
     waterfall();
     var dataInt = { "data":[{"src":"7.jpg"},{"src":"8.jpg"},{"src":"9.jpg"},{"src":"6.jpg"}]}
     //模擬json數據;
     $(window).on("scroll",function () {
         if(checkScrollSlide){
             $.each(dataInt.data,function (key,value) {
                 var oBox=$("<div>").addClass("box").appendTo($("#main"));
                 //jQuery支持連綴,隱式迭代;
                 var oPic=$("<div>").addClass('pic').appendTo($(oBox));
                 $("<img>").attr("src","images/"+$(value).attr("src")).appendTo(oPic);
             });
             waterfall();
         }
     })
 });
 //流式布局主函數;
 function waterfall () {
     var $boxs=$("#main>div");
     //獲取#main元素下的直接子元素div.box;
     //獲取每一列的寬度;
     var w=$boxs.eq(0).outerWidth();
     //outerWidth()獲取包含padding和border在內的寬度;
     //var w=$boxs.eq(0).width();
     //width()只能獲取給元素定義的寬度;
     var cols=Math.floor($(window).width()/w);
     //獲取多少列;
     $("#main").width(w*cols).css("margin","0 auto");
     //設置#main元素的寬度和居中樣式;
     var hArr=[];
     //每一列高度的集合;
     $boxs.each(function (index,value) {
     //遍歷每一個box元素;
     //為了找到之前所有元素的最低點,然后將本元素設置到最低點之下;
         var h=$boxs.eq(index).outerHeight();
         //每一個box元素的高,
         if (index<cols) {
             hArr[index]=h;
             //確定每列第一個元素的高度;
         } else{
             var minH=Math.min.apply(null,hArr);
             //得出列高數組中的最小高度;
             var minHIndex=$.inArray(minH,hArr);
             //$.inArray()方法得出元素(minH)在數組(hArr)中的index值;
             //console.log(value);
             //此時的value是第一行之后的所有的box元素的DOM對象!;
             $(value).css({
             //$(value):將DOM對象轉換成jQuery對象,才能繼續使用jQuery方法;
                 "position":"absolute",
                 "top":minH+"px",
                 "left":minHIndex*w+"px"
             });
             hArr[minHIndex]+=$boxs.eq(index).outerHeight();
             //最低高元素的高度+剛添加到最低高度下的元素的高度=新的列高;
         };
     });
     // console.log(hArr);
 };
 function checkScrollSlide () {
     var $lastBox=$("#main>div").last();
     var lastBoxDis=$lastBox.offset().top+Math.floor($lastBox.outerHeight()/2);
     var scrollTop=$(window).scrollTop();
     var documentH=$(window).height();
     return (lastBoxDis<scrollTop+documentH)?true:false;
 }

詳細解釋清仔細參考注釋吧,我就不單獨再拉出來寫了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产久精国产一老狼| 日本19禁啪啪免费观看www| 日韩国产欧美区| 久久视频在线看| 欧美与黑人午夜性猛交久久久| 亚洲欧洲国产精品| 黑人巨大精品欧美一区免费视频| 国产成人精品国内自产拍免费看| 国外成人在线视频| 国产精品久久久久久久9999| 91久久久国产精品| 国产欧美一区二区白浆黑人| 欧美在线影院在线视频| 色哟哟亚洲精品一区二区| 国产精品久久久久影院日本| 91视频国产精品| 亚洲天堂男人天堂女人天堂| 亚洲在线视频福利| 欧美精品在线免费观看| 日韩在线观看免费全集电视剧网站| 国产精品自产拍在线观看中文| 亚洲日韩中文字幕| 大荫蒂欧美视频另类xxxx| 一夜七次郎国产精品亚洲| 日韩免费高清在线观看| 日韩中文字幕免费视频| 国产91精品青草社区| 久久中文字幕一区| www.亚洲人.com| 国产美女扒开尿口久久久| 亚洲国产成人一区| 欧美亚洲视频在线看网址| 伊人精品在线观看| 国产999在线观看| 久久久中文字幕| 欧美孕妇毛茸茸xxxx| 国产精品成人久久久久| 欧美日韩国产页| 欧美肥臀大乳一区二区免费视频| 久久亚洲国产精品成人av秋霞| 国产精品久久久久av免费| 91国语精品自产拍在线观看性色| 国产精品一区二区三区免费视频| 国产精品吹潮在线观看| 欧美性猛交xxxxx免费看| 日韩成人高清在线| 亚洲成avwww人| 亚洲色图综合网| 秋霞午夜一区二区| 欧美在线一级va免费观看| 国产亚洲视频在线| 国产精品海角社区在线观看| 乱亲女秽乱长久久久| 97在线观看视频国产| 欧美日韩国产中文字幕| 欧美日韩免费在线| 成人黄色av网站| 国产精品老牛影院在线观看| 亚洲精品国精品久久99热| 精品国产一区久久久| 92看片淫黄大片欧美看国产片| 亚洲男人的天堂在线播放| 亚洲乱码一区二区| 国产精品中文字幕久久久| 成人久久久久久| 欧美激情性做爰免费视频| 久久国产精品视频| 亚洲视频自拍偷拍| 国产激情久久久| 亚洲精品aⅴ中文字幕乱码| 亚洲男人天堂手机在线| 中文字幕精品久久久久| 亚洲天堂av在线免费观看| 亚洲人午夜色婷婷| 欧美精品免费在线观看| 国产精品av网站| 欧美成人精品在线播放| 欧美超级免费视 在线| 国产精品第七十二页| 欧美日韩福利视频| 成人免费淫片视频软件| 国产91精品久久久久| 国产激情综合五月久久| 欧洲成人免费视频| 欧美日韩免费观看中文| 国产91精品久久久久久| 亚洲japanese制服美女| 欧美亚洲国产日韩2020| 8x海外华人永久免费日韩内陆视频| 精品人伦一区二区三区蜜桃网站| 国产91对白在线播放| 色七七影院综合| 国产午夜精品一区二区三区| 国产精品av免费在线观看| 欧美精品videos性欧美| 亚洲国产欧美在线成人app| 人人做人人澡人人爽欧美| 国产成人福利视频| 91精品中文在线| 97人人爽人人喊人人模波多| 国产欧美日韩精品在线观看| 久久精品一区中文字幕| 亚洲精品日韩久久久| 亚洲欧美另类人妖| 国产成人精品av在线| 另类专区欧美制服同性| 96国产粉嫩美女| 国产精品欧美风情| 久久久久久午夜| 一区二区在线免费视频| 国产精品精品一区二区三区午夜版| 国产精品狼人色视频一区| 国产精品精品视频| 欧美大码xxxx| 国产精品老牛影院在线观看| 最近2019好看的中文字幕免费| 欧美精品videos另类日本| 最近更新的2019中文字幕| 91精品中国老女人| 精品一区二区三区三区| www.日韩系列| 欧美最猛性xxxxx亚洲精品| 色婷婷久久av| 久久中国妇女中文字幕| 精品国产一区久久久| 国产精品久久久久久久久免费看| 国产午夜精品视频| 国产精品毛片a∨一区二区三区|国| 成人免费福利在线| 日韩不卡在线观看| 国产亚洲欧洲高清一区| 日韩免费观看av| 亚洲片av在线| 欧美极品美女视频网站在线观看免费| 亚洲自拍偷拍色片视频| 日韩av片电影专区| 久久久久国产视频| 欧美性xxxxhd| 国产视频精品免费播放| zzjj国产精品一区二区| 亚洲精品小视频| 国产精彩精品视频| 亚洲国产精品一区二区三区| 精品久久久一区二区| 久久久av网站| 久久躁狠狠躁夜夜爽| 亚洲黄页网在线观看| 91久久国产精品| 亚洲一区二区久久久久久久| 国产精品久久久久久久久久久久久| 日韩av一卡二卡| 国产精品海角社区在线观看| 国产精品视频网站| 欧美色道久久88综合亚洲精品| 欧美一区视频在线| 国产日韩欧美夫妻视频在线观看| 日本精品视频网站| 亚洲最大福利视频网| 欧美在线视频网| 欧美一级片免费在线| 久久精品国产亚洲精品| 国产精品福利小视频| 国产精品久久久久久久久免费看| 欧美一区二区三区艳史|