options.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Options &middot; Isotope Docs</title>
  6. <!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
  7. <link rel="stylesheet" href="../css/style.css" />
  8. <!-- scripts at bottom of page -->
  9. </head>
  10. <body class="docs option-def">
  11. <nav id="site-nav">
  12. <h1><a href="../index.html">Isotope</a></h1>
  13. <h2>Docs</h2>
  14. <ul>
  15. <li><a href="../docs/introduction.html">Introduction</a>
  16. <li class="current"><a href="#content">Options</a>
  17. <ul class="toc">
  18. <li><a href="#animationengine">animationEngine</a></li>
  19. <li><a href="#animationoptions">animationOptions</a></li>
  20. <li><a href="#containerclass">containerClass</a></li>
  21. <li><a href="#filter">filter</a></li>
  22. <li><a href="#getsortdata">getSortData</a></li>
  23. <li><a href="#hiddenclass">hiddenClass</a></li>
  24. <li><a href="#hiddenstyle">hiddenStyle</a></li>
  25. <li><a href="#itemclass">itemClass</a></li>
  26. <li><a href="#itempositiondataenabled">itemPositionDataEnabled</a></li>
  27. <li><a href="#itemselector">itemSelector</a></li>
  28. <li><a href="#layoutmode">layoutMode</a></li>
  29. <li><a href="#resizable">resizable</a></li>
  30. <li><a href="#resizescontainer">resizesContainer</a></li>
  31. <li><a href="#sortascending">sortAscending</a></li>
  32. <li><a href="#sortby">sortBy</a></li>
  33. <li><a href="#transformsenabled">transformsEnabled</a></li>
  34. <li><a href="#visiblestyle">visibleStyle</a></li>
  35. <li><a href="#layoutspecific_options">Layout-specific options</a></li>
  36. </ul>
  37. </li>
  38. <li><a href="../docs/methods.html">Methods</a>
  39. <li><a href="../docs/layout-modes.html">Layout modes</a>
  40. <li><a href="../docs/filtering.html">Filtering</a>
  41. <li><a href="../docs/sorting.html">Sorting</a>
  42. <li><a href="../docs/animating.html">Animating</a>
  43. <li><a href="../docs/adding-items.html">Adding items</a>
  44. <li><a href="../docs/extending-isotope.html">Extending Isotope</a>
  45. <li><a href="../docs/hash-history-jquery-bbq.html">Hash history with jQuery BBQ</a>
  46. <li><a href="../docs/help.html">Help</a>
  47. <li><a href="../docs/license.html">License</a>
  48. </ul>
  49. <h2>Demos</h2>
  50. <ul>
  51. <li><a href="../demos/basic.html">Basic</a>
  52. <li><a href="../demos/elements-complete.html">Elements Complete</a>
  53. <li><a href="../demos/elements-partial.html">Elements Partial</a>
  54. <li><a href="../demos/layout-modes.html">Layout modes</a>
  55. <li><a href="../demos/filtering.html">Filtering</a>
  56. <li><a href="../demos/sorting.html">Sorting</a>
  57. <li><a href="../demos/relayout.html">reLayout</a>
  58. <li><a href="../demos/adding-items.html">Adding items</a>
  59. <li><a href="../demos/infinite-scroll.html">Infinite Scroll</a>
  60. <li><a href="../demos/images.html">Images</a>
  61. <li><a href="../demos/combination-filters.html">Combination filters</a>
  62. <li><a href="../demos/hash-history.html">Hash history</a>
  63. <li><a href="../demos/fluid-responsive.html">Fluid / responsive</a>
  64. </ul>
  65. <h2>Custom layout modes</h2>
  66. <ul>
  67. <li><a href="../custom-layout-modes/centered-masonry.html">Centered Masonry</a>
  68. <li><a href="../custom-layout-modes/category-rows.html">Category rows</a>
  69. <li><a href="../custom-layout-modes/masonry-corner-stamp.html">Masonry corner stamp</a>
  70. <li><a href="../custom-layout-modes/masonry-gutters.html">Masonry gutters</a>
  71. <li><a href="../custom-layout-modes/spine-align.html">Spine align</a>
  72. </ul>
  73. <h2><a href="../tests/index.html">Tests</a></h2>
  74. </nav> <!-- #site-nav -->
  75. <section id="content">
  76. <h1>Options</h1>
  77. <dl class='header clearfix'>
  78. <dt><code>option</code></dt>
  79. <dd class='option-type'>Type</dd>
  80. <dd class='default'>Default</dd>
  81. </dl>
  82. <h2 id='animationengine'>animationEngine</h2>
  83. <dl class='clearfix'>
  84. <dt><code>animationEngine</code></dt>
  85. <dd class='option-type'>String</dd>
  86. <dd class='default'><code><span class='s1'>'best-available'</span></code></dd>
  87. </dl>
  88. <p>Determines the jQuery method to apply styles, <code>.css()</code> or <code>.animate()</code>. Useful for relying on CSS transitions to handle animation.</p>
  89. <h3 id='animationEngine-values'>Values</h3>
  90. <ul>
  91. <li><code>&#39;best-available&#39;</code>: if browser supports CSS transitions, Isotope uses <code>.css()</code>. If not, falls back to using <code>.animate()</code>.</li>
  92. <li><code>&#39;css&#39;</code>: Isotope uses <code>.css()</code></li>
  93. <li><code>&#39;jquery&#39;</code>: Isotope uses <code>.animate()</code></li>
  94. </ul>
  95. <h2 id='animationoptions'>animationOptions</h2>
  96. <dl class='clearfix'>
  97. <dt><code>animationOptions</code></dt>
  98. <dd class='option-type'>Object</dd>
  99. <dd class='default'><code>{ queue: <span class='kc'>false</span>, duration: <span class='mi'>800</span> }</code></dd>
  100. </dl>
  101. <p>When jQuery is the animation engine (see above), these options will be used in <code>.animate()</code>. See the <a href='http://api.jquery.com/animate/#animate-properties-options'>jQuery API for animate options</a> for details.</p>
  102. <h3 id='example'>Example</h3>
  103. <div class='highlight'><pre><code class='javascript'><span class='nx'>$</span><span class='p'>(</span><span class='s1'>&#39;#container&#39;</span><span class='p'>).</span><span class='nx'>isotope</span><span class='p'>({</span>
  104. <span class='nx'>animationOptions</span><span class='o'>:</span> <span class='p'>{</span>
  105. <span class='nx'>duration</span><span class='o'>:</span> <span class='mi'>750</span><span class='p'>,</span>
  106. <span class='nx'>easing</span><span class='o'>:</span> <span class='s1'>&#39;linear&#39;</span><span class='p'>,</span>
  107. <span class='nx'>queue</span><span class='o'>:</span> <span class='kc'>false</span>
  108. <span class='p'>}</span>
  109. <span class='p'>});</span>
  110. </code></pre>
  111. </div>
  112. <h2 id='containerclass'>containerClass</h2>
  113. <dl class='clearfix'>
  114. <dt><code>containerClass</code></dt>
  115. <dd class='option-type'>String</dd>
  116. <dd class='default'><code><span class='s1'>'isotope'</span></code></dd>
  117. </dl>
  118. <p>The class applied to the container element.</p>
  119. <h2 id='filter'>filter</h2>
  120. <dl class='clearfix'>
  121. <dt><code>filter</code></dt>
  122. <dd class='option-type'>Selector</dd>
  123. </dl>
  124. <p>Setting a filter with show item elements that match the selector, and hide elements that do not match. See <a href='filtering.html'>docs on filering</a> for more details.</p>
  125. <p><a href='../demos/filtering.html'><strong>See Demo: Filtering</strong></a></p>
  126. <h3 id='filter-values'>Values</h3>
  127. <ul>
  128. <li><code><span class='s1'>'*'</span></code> or <code><span class='s1'>''</span></code> (an empty string): Shows all item elements</li>
  129. </ul>
  130. <h2 id='getsortdata'>getSortData</h2>
  131. <dl class='clearfix'>
  132. <dt><code>getSortData</code></dt>
  133. <dd class='option-type'>Object</dd>
  134. </dl>
  135. <p>An object containing one or several methods to retrieve data for Sorting. The methods receive one parameter (<code>$elem</code> in the example below) which is a jQuery object representing each item element. The methods need to return a value. See <a href='sorting.html'>docs on sorting</a> for more details.</p>
  136. <p><a href='../demos/sorting.html'><strong>See Demo: Sorting</strong></a></p>
  137. <h3 id='example'>Example</h3>
  138. <div class='highlight'><pre><code class='javascript'><span class='nx'>$</span><span class='p'>(</span><span class='s1'>&#39;#container&#39;</span><span class='p'>).</span><span class='nx'>isotope</span><span class='p'>({</span>
  139. <span class='nx'>getSortData</span> <span class='o'>:</span> <span class='p'>{</span>
  140. <span class='nx'>symbol</span> <span class='o'>:</span> <span class='kd'>function</span><span class='p'>(</span> <span class='nx'>$elem</span> <span class='p'>)</span> <span class='p'>{</span>
  141. <span class='k'>return</span> <span class='nx'>$elem</span><span class='p'>.</span><span class='nx'>attr</span><span class='p'>(</span><span class='s1'>&#39;data-symbol&#39;</span><span class='p'>);</span>
  142. <span class='p'>},</span>
  143. <span class='nx'>number</span> <span class='o'>:</span> <span class='kd'>function</span><span class='p'>(</span> <span class='nx'>$elem</span> <span class='p'>)</span> <span class='p'>{</span>
  144. <span class='k'>return</span> <span class='nb'>parseInt</span><span class='p'>(</span> <span class='nx'>$elem</span><span class='p'>.</span><span class='nx'>find</span><span class='p'>(</span><span class='s1'>&#39;.number&#39;</span><span class='p'>).</span><span class='nx'>text</span><span class='p'>(),</span> <span class='mi'>10</span> <span class='p'>);</span>
  145. <span class='p'>},</span>
  146. <span class='nx'>name</span> <span class='o'>:</span> <span class='kd'>function</span> <span class='p'>(</span> <span class='nx'>$elem</span> <span class='p'>)</span> <span class='p'>{</span>
  147. <span class='k'>return</span> <span class='nx'>$elem</span><span class='p'>.</span><span class='nx'>find</span><span class='p'>(</span><span class='s1'>&#39;.name&#39;</span><span class='p'>).</span><span class='nx'>text</span><span class='p'>();</span>
  148. <span class='p'>}</span>
  149. <span class='p'>}</span>
  150. <span class='p'>});</span>
  151. </code></pre>
  152. </div>
  153. <h2 id='hiddenclass'>hiddenClass</h2>
  154. <dl class='clearfix'>
  155. <dt><code>hiddenClass</code></dt>
  156. <dd class='option-type'>String</dd>
  157. <dd class='default'><code><span class='s1'>'isotope-hidden'</span></code></dd>
  158. </dl>
  159. <p>The class applied to item elements hidden by Filtering.</p>
  160. <h2 id='hiddenstyle'>hiddenStyle</h2>
  161. <dl class='clearfix'>
  162. <dt><code>hiddenStyle</code></dt>
  163. <dd class='option-type'>Object</dd>
  164. <dd class='default'><code>{ opacity : <span class='mi'>0</span>, scale : <span class='mi'>0.001</span> }</code></dd>
  165. </dl>
  166. <p>The style applied to item elements hidden by Filtering.</p>
  167. <h2 id='itemclass'>itemClass</h2>
  168. <dl class='clearfix'>
  169. <dt><code>itemClass</code></dt>
  170. <dd class='option-type'>String</dd>
  171. <dd class='default'><code><span class='s1'>'isotope-item'</span></code></dd>
  172. </dl>
  173. <p>The class applied to item elements.</p>
  174. <h2 id='itempositiondataenabled'>itemPositionDataEnabled</h2>
  175. <dl class='clearfix'>
  176. <dt><code>itemPositionDataEnabled</code></dt>
  177. <dd class='option-type'>Boolean</dd>
  178. <dd class='default'><code><span class='kc'>false</span></code></dd>
  179. </dl>
  180. <p>When enabled, the position of item elements will exposed as data, which you can retrieve with jQuery&#8217;s data method with <code><span class='s1'>'isotope-item-position'</span></code> name space. Position is return as an object with <code>x</code> and <code>y</code>;</p>
  181. <h3 id='example'>Example</h3>
  182. <div class='highlight'><pre><code class='javascript'><span class='nx'>$</span><span class='p'>(</span><span class='s1'>&#39;#container&#39;</span><span class='p'>).</span><span class='nx'>isotope</span><span class='p'>({</span>
  183. <span class='nx'>itemSelector</span><span class='o'>:</span> <span class='s1'>&#39;.element&#39;</span><span class='p'>,</span>
  184. <span class='nx'>itemPositionDataEnabled</span><span class='o'>:</span> <span class='kc'>true</span>
  185. <span class='p'>})</span>
  186. <span class='c1'>// log position of each item</span>
  187. <span class='p'>.</span><span class='nx'>find</span><span class='p'>(</span><span class='s1'>&#39;.element&#39;</span><span class='p'>).</span><span class='nx'>each</span><span class='p'>(</span><span class='kd'>function</span><span class='p'>(){</span>
  188. <span class='kd'>var</span> <span class='nx'>position</span> <span class='o'>=</span> <span class='nx'>$</span><span class='p'>(</span><span class='k'>this</span><span class='p'>).</span><span class='nx'>data</span><span class='p'>(</span><span class='s1'>&#39;isotope-item-position&#39;</span><span class='p'>);</span>
  189. <span class='nx'>console</span><span class='p'>.</span><span class='nx'>log</span><span class='p'>(</span><span class='s1'>&#39;item position is x: &#39;</span> <span class='o'>+</span> <span class='nx'>position</span><span class='p'>.</span><span class='nx'>x</span> <span class='o'>+</span> <span class='s1'>&#39;, y: &#39;</span> <span class='o'>+</span> <span class='nx'>position</span><span class='p'>.</span><span class='nx'>y</span> <span class='p'>);</span>
  190. <span class='p'>});</span>
  191. </code></pre>
  192. </div>
  193. <h2 id='itemselector'>itemSelector</h2>
  194. <dl class='clearfix'>
  195. <dt><code>itemSelector</code></dt>
  196. <dd class='option-type'>Selector</dd>
  197. </dl>
  198. <p>Restricts Isotope item elements to selector.</p>
  199. <h2 id='layoutmode'>layoutMode</h2>
  200. <dl class='clearfix'>
  201. <dt><code>layoutMode</code></dt>
  202. <dd class='option-type'>String</dd>
  203. <dd class='default'><code><span class='s1'>'masonry'</span></code></dd>
  204. </dl>
  205. <p>See also docs on <a href='layout-modes.html'>Layout modes</a>.</p>
  206. <p><a href='../demos/layout-modes.html'><strong>See Demo: Layout modes</strong></a></p>
  207. <h2 id='resizable'>resizable</h2>
  208. <dl class='clearfix'>
  209. <dt><code>resizable</code></dt>
  210. <dd class='option-type'>Boolean</dd>
  211. <dd class='default'><code><span class='kc'>true</span></code></dd>
  212. </dl>
  213. <p>Triggers layout logic when browser window is resized.</p>
  214. <h2 id='resizescontainer'>resizesContainer</h2>
  215. <dl class='clearfix'>
  216. <dt><code>resizesContainer</code></dt>
  217. <dd class='option-type'>Boolean</dd>
  218. <dd class='default'><code><span class='kc'>true</span></code></dd>
  219. </dl>
  220. <p>Isotope will set the height (for vertical layout modes) or width (for horizontal layout modes) of the container after layout. If <code>resizesContainer</code> is set to <code><span class='kc'>false</span></code>, be sure to set a size for the container in your CSS, so it doesn&#8217;t collapse when Isotope is triggered.</p>
  221. <h2 id='sortascending'>sortAscending</h2>
  222. <dl class='clearfix'>
  223. <dt><code>sortAscending</code></dt>
  224. <dd class='option-type'>Boolean</dd>
  225. <dd class='default'><code><span class='kc'>true</span></code></dd>
  226. </dl>
  227. <p>Used with sorting. If true, items are sorted ascending: &#8220;1, 2, 3&#8221; or &#8220;A, B, C&#8230;&#8221;. If false, items are sorted descending &#8220;Z, Y, X&#8221; or &#8220;9, 8, 7&#8230;&#8221;. See <a href='sorting.html'>docs on sorting</a> for more details.</p>
  228. <p><a href='../demos/sorting.html'><strong>See Demo: Sorting</strong></a></p>
  229. <h2 id='sortby'>sortBy</h2>
  230. <dl class='clearfix'>
  231. <dt><code>sortBy</code></dt>
  232. <dd class='option-type'>String</dd>
  233. </dl>
  234. <p>The property name of the method within the <code>getSortData</code> option to sort item elements. See <a href='sorting.html'>docs on sorting</a> for more details.</p>
  235. <p><a href='../demos/sorting.html'><strong>See Demo: Sorting</strong></a></p>
  236. <h3 id='sortBy-values'>Values</h3>
  237. <ul>
  238. <li><code>&#39;original-order&#39;</code> Sorts item elements by their original order.</li>
  239. </ul>
  240. <h2 id='transformsenabled'>transformsEnabled</h2>
  241. <dl class='clearfix'>
  242. <dt><code>transformsEnabled</code></dt>
  243. <dd class='option-type'>Boolean</dd>
  244. <dd class='default'><code><span class='kc'>true</span></code></dd>
  245. </dl>
  246. <p>Isotope uses CSS3 transform to position item elements, when available in the browser. Setting <code>transformsEnabled</code> to <code><span class='kc'>false</span></code> will disable this feature so all browsers use top/left absolute positioning. Useful for <a href='help.html#flash'>resolving issues with Flash content</a>.</p>
  247. <h3 id='transformsEnabled-css'>Additional CSS</h3>
  248. <p>If you do disable transforms, but still want to use <a href='animating.html#css_transitions'>CSS transitions</a>, you&#8217;ll need add the following CSS:</p>
  249. <div class='highlight'><pre><code class='css'><span class='nc'>.isotope</span> <span class='nc'>.isotope-item</span> <span class='p'>{</span>
  250. <span class='o'>-</span><span class='n'>webkit</span><span class='o'>-</span><span class='n'>transition</span><span class='o'>-</span><span class='n'>property</span><span class='o'>:</span> <span class='k'>top</span><span class='o'>,</span> <span class='k'>left</span><span class='o'>,</span> <span class='k'>opacity</span><span class='p'>;</span>
  251. <span class='o'>-</span><span class='n'>moz</span><span class='o'>-</span><span class='n'>transition</span><span class='o'>-</span><span class='n'>property</span><span class='o'>:</span> <span class='k'>top</span><span class='o'>,</span> <span class='k'>left</span><span class='o'>,</span> <span class='k'>opacity</span><span class='p'>;</span>
  252. <span class='n'>transition</span><span class='o'>-</span><span class='n'>property</span><span class='o'>:</span> <span class='k'>top</span><span class='o'>,</span> <span class='k'>left</span><span class='o'>,</span> <span class='k'>opacity</span><span class='p'>;</span>
  253. <span class='p'>}</span>
  254. </code></pre>
  255. </div>
  256. <h3 id='disabling_hidden_and_visible_scale_styles'>Disabling hidden and visible scale styles</h3>
  257. <p>If you are using filtering, it&#8217;s also a good idea to disable the scale transform with the <a href='#hiddenstyle'><code>hiddenStyle</code> option</a> and <a href='#visiblestyle'><code>visibleStyle</code> option</a>.</p>
  258. <div class='highlight'><pre><code class='javascript'><span class='nx'>$</span><span class='p'>(</span><span class='s1'>&#39;#container&#39;</span><span class='p'>).</span><span class='nx'>isotope</span><span class='p'>({</span>
  259. <span class='nx'>transformsEnabled</span><span class='o'>:</span> <span class='kc'>false</span><span class='p'>,</span>
  260. <span class='nx'>visibleStyle</span><span class='o'>:</span> <span class='p'>{</span> <span class='nx'>opacity</span><span class='o'>:</span> <span class='mi'>1</span> <span class='p'>},</span>
  261. <span class='nx'>hiddenStyle</span><span class='o'>:</span> <span class='p'>{</span> <span class='nx'>opacity</span><span class='o'>:</span> <span class='mi'>0</span> <span class='p'>}</span>
  262. <span class='p'>});</span>
  263. </code></pre>
  264. </div>
  265. <h2 id='visiblestyle'>visibleStyle</h2>
  266. <dl class='clearfix'>
  267. <dt><code>visibleStyle</code></dt>
  268. <dd class='option-type'>Object</dd>
  269. <dd class='default'><code>{ opacity : <span class='mi'>1</span>, scale : <span class='mi'>1</span> }</code></dd>
  270. </dl>
  271. <p>The style applied to item elements made visible by Filtering.</p>
  272. <h2 id='layoutspecific_options'>Layout-specific options</h2>
  273. <p>In addition the general options listed above, certain layout modes each have their own options. In order to avoid conflict, these options are set with an option that matches the name of the layout mode.</p>
  274. <p>See docs on <a href='layout-modes.html'>layout modes</a> for each layout mode&#8217;s available options.</p>
  275. <p>For example, if your layout switched from <code>masonry</code> to <code>cellsByRow</code>:</p>
  276. <div class='highlight'><pre><code class='javascript'><span class='nx'>$</span><span class='p'>(</span><span class='s1'>&#39;#container&#39;</span><span class='p'>).</span><span class='nx'>isotope</span><span class='p'>({</span>
  277. <span class='nx'>masonry</span><span class='o'>:</span> <span class='p'>{</span>
  278. <span class='nx'>columnWidth</span><span class='o'>:</span> <span class='mi'>120</span>
  279. <span class='p'>},</span>
  280. <span class='nx'>cellsByRow</span><span class='o'>:</span> <span class='p'>{</span>
  281. <span class='nx'>columnWidth</span><span class='o'>:</span> <span class='mi'>220</span><span class='p'>,</span>
  282. <span class='nx'>rowHeight</span><span class='o'>:</span> <span class='mi'>220</span>
  283. <span class='p'>}</span>
  284. <span class='p'>});</span>
  285. </code></pre>
  286. </div>
  287. <p><a href='../demos/layout-modes.html'><strong>See Demo: Layout modes</strong></a></p>
  288. <footer>
  289. Isotope by <a href="http://desandro.com">David DeSandro</a> / <a href="http://metafizzy.co">Metafizzy</a>
  290. </footer>
  291. </section> <!-- #content -->
  292. </body>
  293. </html>