jQuery瀑布流佈局程式碼例項
本章節分享一段程式碼例項,它實現了瀑布流佈局效果。
下面就通過程式碼例項介紹一下如何實現此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { padding: 0; margin: 0; } .main { position: relative; } .box { float: left; width: 150px; border: 1px solid #ccc; box-shadow: 0 0 6px #ccc; border-radius: 5px; background-color: #eef; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script> function createRandomNumber() { var num = Math.floor((Math.random() + 2) * 100); return num; } function waterfall() { var box = $(".box"); var boxWidth = box.eq(0).outerWidth(true); var num = Math.floor($(window).width() / boxWidth); $(".main").width(boxWidth * num).css({ "margin": "0 auto" }); var arrHeight = []; box.each(function (index, value) { if (index < num) { arrHeight[index] = box.eq(index).outerHeight(true); } else { var minHeight = Math.min.apply(null, arrHeight); var minHeightIndex = $.inArray(minHeight, arrHeight); $(value).css({ "position": "absolute", "top": minHeight, "left": box.eq(minHeightIndex).position().left }); arrHeight[minHeightIndex] += box.eq(index).height() + 15; } }); } function checkscroll() { var box = $(".box"); var lastBoxHeight = box.last().get(0).offsetTop + box.last().outerHeight(true); var scrollTop = $(window).scrollTop(); var documentHeight = $(document).height(); return (lastBoxHeight < scrollTop + documentHeight) ? true : false; } window.onload = function () { $(".box").each(function (index, value) { $(".box").eq(index).height(createRandomNumber()); }); waterfall(); window.onscroll = function () { if (checkscroll()) { for (var i = 0; i < 5; i++) { var box = $("<div class='box'></div>").appendTo(".main"); box.height(createRandomNumber()); } waterfall(); } } } </script> </head> <body> <div class="main"> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div> </body> </html>
相關文章
- css3實現的瀑布流佈局程式碼例項CSSS3
- jQuery實現瀑布流佈局jQuery
- jquery隨機瀑布流簡單程式碼例項jQuery隨機
- 瀑布流佈局
- 瀑布流佈局實現程式碼詳解
- 原生 js 實現瀑布流佈局、React 版本的瀑布流佈局元件JSReact元件
- 瀑布流佈局淺析
- Bootstrap實戰 - 瀑布流佈局boot
- 淺析瀑布流佈局原理
- 網頁的瀑布流佈局網頁
- flex居中佈局程式碼例項Flex
- CSS3 column 瀑布流佈局CSSS3
- AJAX+json+jquery實現預載入瀑布流佈局JSONjQuery
- 響應式佈局程式碼例項
- flex聖盃佈局程式碼例項Flex
- css多欄佈局程式碼例項CSS
- css彈性佈局程式碼例項CSS
- flex彈性佈局程式碼例項Flex
- div css左右佈局例項程式碼CSS
- display: flex彈性佈局程式碼例項Flex
- css九宮格佈局程式碼例項CSS
- js下拉滾動條瀑布流載入資料程式碼例項JS
- 響應式佈局簡單程式碼例項
- css數字分頁佈局程式碼例項CSS
- 響應式瀑布流程式碼例項
- jQuery is() 程式碼例項jQuery
- 談談實現瀑布流佈局的幾種思路
- CSS 例項系列 - 05 - Photo Album 瀑布流相簿CSS
- css上面縮圖底部標題佈局程式碼例項CSS
- jQuery選項卡例項程式碼jQuery
- ionic3實戰-隨機佈局瀑布流實現隨機
- CSS3 Flex 彈性佈局例項程式碼詳解CSSS3Flex
- jQuery操作cookie程式碼例項jQueryCookie
- jQuery 動畫效果程式碼例項jQuery動畫
- jQuery事件冒泡程式碼例項jQuery事件
- CSS3實現瀑布流佈局(display: flex/column-coCSSS3Flex
- UIColletionView瀑布流佈局實現思路以及封裝的實現UIView封裝
- flex佈局語法+例項Flex