The Wookmark jQuery plugin
We have received several questions about how the grid layout on wookmark.com is created so we created this simple plugin. It lays out a series of elements in a dynamic column grid.
Mentioned by Web Appers, Design Shack, Web Design Ledger, SpeckyBoy, Queness, Web Resources Depot, HongKiat, DevSnippets, CodeVisually, How Design, Tympanus, David Walsh, JaxEnter and others.
How to use it
Include the file in your website (after your include of jQuery)
Run it on your content
Adjust the options (all optional, see GitHub for examples)
- align - "left", "right", or "center"
- autoResize - if "true", updates layout after browser is resized
- resizeDelay - default is "50", time in miliseconds between browser resize and layout update
- comparator - a custom sorting function
- container - the width of this element is used to calculate the number of columns, defaults to "window". For example $('myContentGrid'). Container should also have the CSS property "position: relative".
- direction - "left" or "right", whether to start in top left or top right corner
- ignoreInactiveItems - if "true", inactive items will still be visible, which can be used to fade filtered items out
- itemWidth - width of one grid item in pixels ("200") or percentage ("10%"), defaults to width of first item
- fillEmptySpace - if "true", creates placeholder at bottom of each column to create an even layout. Placeholders elements have the class "wookmark-placeholder".
- flexibleWidth - "true" or "false", adjusts item width to create optimal layout based on browser size
- offset - vertical and horizontal distance between items, defaults to 2
- onLayoutChanged - a function that gets called after every layout change
- outerOffset - default is "0"
See examples (sorting, filtering, stamping, endless scroll, lightbox, API integration...) and contribute, Wookmark on github. Have fun.