資料來源:

作者網站github
前端開發倉庫-jQuery Wookmark Load 瀑布流佈局demo
jQuery之家-仿Pinterest超酷jQuery瀑布流動態網格佈局插件demo


使用方法

如果圖片的行內式不寫 width=""height=""的值而要自適應效果的話,圖片要使用 imagesLoaded 讀完在載入 Wookmark 等效果,讓js可以知道圖片比例高度後就不會發先疊圖的情形了。

調用插件

myElementContainer是包裹圖片列表的容器。


配置參數

名稱預設值說明
container$(‘body’) or window父容器。自定義時需要給父容器設置 CSS 屬性 “position: relative”。使用該元素的寬度來計算瀑布流網格佈局的列數。
align‘center’對齊方向,可設置為:”left”, “right”, “center”。
directionundefined排序方向。可設置為:”left”(從左至右), “right”(從右至左),若不設置,則判斷 align 為 “right” 時,direction 為 “right”,否則預設為 “left”。

autoResizefalse是否在瀏覽器窗口大小變化時進行重新佈局。如果設置為 “true”,會在瀏覽器尺寸改變時更新瀑布流佈局。
resizeDelay50檢測自動重新佈局的間隔時間 (ms)。更新瀑布流佈局的延遲時間。
itemWidth0列表項目的寬度 (px 或 %)。第一個網格的預設寬度,可以是像素值,預設值200;或百分比值,預設值10%。
flexibleWidth0列表項目自適應的最大寬度。該項設置時,itemWidth 的值作為列表項目的最小寬度。
offset2各個網格項的水平和垂直間距。列表項目的間距 (px),橫向縱向相同。
verticalOffsetundefined列表項目縱向的間距 (px),與 offset 配合即可分別設置橫向與縱向的間距。
outerOffset0外部間距,與父容器頂部的間距。預設值為 0。網格佈局和父元素之間的距離。
ignoreInactiveItemstrue是否隱藏被過濾的項目。如果設置為 true,無效的項任然是可見的。用於淡入淡出過濾圖片。
fillEmptySpacefalse是否填充底部佔位符。如果設置為true,會在每一列的底部使用空白的網格來填補,使每一列都底部對齊。佔位符的 class 為 “wookmark-placeholder”。
comparatornull自定義排序方法。一個自定義的排序函數。
possibleFilters[]
onLayoutChangedundefined在網格佈局發生改變時的回調函數。佈局變化時觸發的函數。

實際製作

See the Pen Wookmark.js-預設1 by Jimmy_Wu (@Jimmy_Wu) on CodePen.