js使用waterfall橫向載入瀑布流,一行程式碼完成
github地址:https://github.com/chunshulimao/waterfall
用法:
1 靜態載入:將父節點中已有的子節點重新以瀑布流的形式橫向載入
1.1 每列依次載入一個子節點putEasyWater(瀑布流靜態載入的父節點,載入成多少列)方法.
demo:
<!DOCTYPE html>
<html>
<head>
<title>測試</title>
</head>
<body>
<div id="contentId">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
<span>6</span>
<span>7</span>
<span>8</span>
<span>9</span>
<span>10</span>
</div>
</body>
<script type="text/javascript" src="waterfall.js"></script>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script >
//模擬資料,把<div id="contentId">裡的子節點賦予參差不齊的高度 start
var contentchildren=$("#contentId").children();
var itemCount=contentchildren.length;
for (var j =0; j<itemCount; j++) {
(contentchildren.eq(j)).css({"width":"200px","height":(100+Math.random()*300),"display":"block","background-color":"pink","border":"2px solid black"});
}
//模擬模擬資料,把<div id="contentId">裡的子節點賦予參差不齊的高度 end
//呼叫方法載入
putEasyWater("#contentId",3);
</script>
</html>
效果如下:
1.2 目前高度最低的列載入子節點的形式重新載入成瀑布流(避免出現瀑布流每列的高度相差太大的情況)putSmartWater(瀑布流靜態載入的父節點,載入成多少列)
demo:
<!DOCTYPE html>
<html>
<head>
<title>測試</title>
</head>
<body>
<div id="contentId">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
<span>6</span>
<span>7</span>
<span>8</span>
<span>9</span>
<span>10</span>
</div>
</body>
<script type="text/javascript" src="waterfall.js"></script>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script >
//模擬資料,把<div id="contentId">裡的子節點賦予參差不齊的高度 start
var contentchildren=$("#contentId").children();
var itemCount=contentchildren.length;
for (var j =0; j<itemCount; j++) {
(contentchildren.eq(j)).css({"width":"200px","height":(100+Math.random()*300),"display":"block","background-color":"pink","border":"2px solid black"});
}
//模擬模擬資料,把<div id="contentId">裡的子節點賦予參差不齊的高度 end
//呼叫方法載入
putSmartWater("#contentId",3);
</script>
</html>
效果如下
2.動態載入:每次載入一個想要的子節點到瀑布流
2.1 目前列子節點數目最少的一列載入一個新的子節點,
putDynamicWater(動態載入瀑布流的父節點,載入成多少列,需要動態載入的新節點),避免出現瀑布流每列的高度相差太大的情況.
demo:
<!DOCTYPE html>
<html>
<head>
<title>測試</title>
</head>
<body>
<div id="contentId">
</div>
</body>
<script type="text/javascript" src="waterfall.js"></script>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script >
//建立10條隨機高度的模擬資料 逐條動態新增
for (var j =0; j<10; j++) {
//建立模擬資料start
var myitem=document.createElement("span");
$(myitem).css({"width":"200px","height":(100+Math.random()*300),"display":"block","background-color":"pink","border":"2px solid black"});
myitem.innerText=j+"";
//建立模擬資料end
putDynamicWater("#contentId",3,myitem);//新增myitem到瀑布流
//putSmartDynamicWater("#contentId",3,myitem);//新增myitem到瀑布流
}
</script>
</html>
效果圖如下
2.2 在高度最低的列載入一個新的子節點,
putSmartDynamicWater(動態載入瀑布流的父節點,載入成多少列,需要動態載入的新節點)
demo:
<!DOCTYPE html>
<html>
<head>
<title>測試</title>
</head>
<body>
<div id="contentId">
</div>
</body>
<script type="text/javascript" src="waterfall.js"></script>
<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
<script >
//建立10條隨機高度的模擬資料 逐條動態新增
for (var j =0; j<10; j++) {
//建立模擬資料start
var myitem=document.createElement("span");
$(myitem).css({"width":"200px","height":(100+Math.random()*300),"display":"block","background-color":"pink","border":"2px solid black"});
myitem.innerText=j+"";
//建立模擬資料end
//putDynamicWater("#contentId",3,myitem);//新增myitem到瀑布流
putSmartDynamicWater("#contentId",3,myitem);//新增myitem到瀑布流
}
</script>
</html>
效果圖如下
相關文章
- 一行程式碼實現滑鼠橫向滾動💪行程
- 原生 js 實現瀑布流佈局、React 版本的瀑布流佈局元件JSReact元件
- 圖片預載入和懶載入(附上一個小demo瀑布流)
- 小程式之圖片瀑布流(最全實現方式,額外加送懶載入)
- 【瀑布流】
- JavaScript文件載入完成後再去執行程式碼JavaScript行程
- jquery製作圖片瀑布流點選按鈕載入更多內容jQuery
- 真▪一行程式碼完成從前端程式碼build到部署線上行程前端UI
- 淺談瀑布流
- 原生JS動態載入JS、CSS檔案及程式碼指令碼JSCSS指令碼
- Node JS爬蟲:爬取瀑布流網頁高清圖JS爬蟲網頁
- vue實現瀑布流Vue
- flutter瀑布流佈局Flutter
- css實現瀑布流CSS
- 卡片瀑布流實現
- JS實現動態瀑布流及放大切換圖片效果(js案例)JS
- gePlugin封裝成winform控制元件,一行程式碼即可載入。Plugin封裝ORM控制元件行程
- TensorFlow Hub--用一行程式碼完成遷移學習行程遷移學習
- 裝逼的最高境界---一行js程式碼完成一個簡易版的貪吃蛇遊戲JS遊戲
- vue3 瀑布流 vue-masonry使用方法Vue
- 瀑布流簡單實現
- 7個殺手級的JS一行程式碼JS行程
- 橫向無檔案移動--SCshell使用
- 瀑布流程式碼實現及思路
- 原生js實現圖片瀑布流佈局,註釋超詳細JS
- 【PM】關於敏捷,瀑布流,文件敏捷
- jQuery實現瀑布流佈局jQuery
- CSS columns多列布局瀑布流CSS
- Bootstrap實戰 - 瀑布流佈局boot
- 淺析瀑布流佈局原理
- [20230508]能否一行完成(使用tee小技巧).txt
- 一行程式碼完成 JAVA 的 EXCEL 讀寫——EasyExcel 的方法封裝行程JavaExcel封裝
- excel怎麼橫向自動求和 excel表格橫向求和公式Excel公式
- JS載入JS
- 一行js程式碼識別Selenium+Webdriver及其應對方案JSWeb
- js選項卡不會寫?JQuery一行程式碼搞定!JSjQuery行程
- JS指令碼非同步載入淺析JS指令碼非同步
- 縱向控制的橫向滾動