瀑布流 無限載入效果

2021-10-04 10:44:29 字數 2553 閱讀 6791

缺點:影響效能

主要實現步驟:

1.區分第一行和後面的行

2.第一行浮動

3.獲取第一行所有的高度

4.找到最小高度的

5.後面進行定位

6.定位到上一行最矮的位置下

7.修改當前最小值(後面的一次加上最矮的高度)

8.從步驟4開始迴圈

//css

.cont

/* 這裡不用margin是因為offset識別不了margin,只能識別到padding */

.box

.boximg

.boximg img

//body---這裡的都是寬度固定的,高度不同的

="cont"

>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

="box"

>

="boximg"

>

""/>

<

/div>

<

/div>

<

/div>

//js

function

waterflow()

,,,,

,,,,

,,,]

//定義乙個陣列用來存放的高度

this

.heightarr =

;this

.init()

;this

.addevent()

;}waterflow.prototype.

init

=function()

waterflow.prototype.

firstline

=function()

} waterflow.prototype.

followline

=function()

} waterflow.prototype.

addevent

=function()

}}waterflow.prototype.

display

=function()

" />

` }

this

.cont.innerhtml += str;

//重新獲取所有的box

this

.box = document.

queryselectorall

(".box");

//初始化高度,因為馬上要重新渲染整個頁面了

this

.heightarr =

;this

.init()

;}function

getmin

(arr)

window.

onload

=function()

uniapp實現瀑布流懶載入實現和無限上拉載入更多

效果圖 說明 函式說明 傳入乙個陣列,迴圈獲取高度,會根據把原陣列拆分成兩個陣列,放在兩列,計算單列累計高度,對比高度值的大小,實現瀑布流的布局,由於獲取高度需要一定的時間,所以使用async await 阻塞for 迴圈的程序,每獲取到乙個的高度就賦值渲染到頁面上,實現載入出乙個就先渲染上去,達成...

jquery實現瀑布流效果 下拉載入新資料

瀑布流效果在很多 還是有的,這種錯落有致的排布看著還是很不錯的呢。今天我就來記錄一下關於用jquery實現瀑布流效果的 一 頁面基本排版 1.items盒子主要用來存放我們需要擺放的資料item 2.tips是頁面載入資料的時候用來提示使用者的文字 class items class item di...

Masonry Ajax 實現無限重新整理瀑布流

原文 效果就如我的個人站yooao.cc 把我實現的思路分享給大家。masonry渲染頁面如果有時需要imagesloaded輔助,不然有可能會造成布局重疊。乙個大體的思路 前端取得最後一篇文章的id,下拉時進行ajax請求新增文章進布局,並同時更新最後一篇文章的id,這樣就可往復迴圈實現無限瀑布流...