balsamine.2013-2014
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

methods.html
text/html

Download raw (9.7 KB)

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  
  <title>Methods &middot; Vanilla Masonry</title>
  
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
  
  <link rel="stylesheet" href="../css/style.css" />
  
  <!-- scripts at bottom of page -->

</head>
<body class="docs ">
  
  <nav id="site-nav">
    <h1><a href="../index.html">Vanilla Masonry</a></h1>
    
    <h2>Docs</h2>
    
    <ul class="docs-list">
      
        
          
            <li><a href="../docs/intro.html">Introduction</a>
          
        
      
        
          
            <li><a href="../docs/options.html">Options</a>
          
        
      
        
        <li class="current"><a href="#content">Methods</a>
          <ul class="toc">
            
            <li><a href="#appended">appended</a></li>
            
            <li><a href="#build">build</a></li>
            
            <li><a href="#destroy">destroy</a></li>
            
            <li><a href="#layout">layout</a></li>
            
            <li><a href="#reloaditems">reloadItems</a></li>
            
            <li><a href="#reload">reload</a></li>
            
          </ul>
        </li>
        
      
        
          
            <li><a href="../docs/help.html">Help</a>
          
        
      
    </ul>

    <h2>Demos</h2>
    
    <ul class="demos-list">
      
        
          
            <li><a href="../demos/basic-single-column.html">Basic single-column</a>
          
        
      
        
          
            <li><a href="../demos/basic-multi-column.html">Basic multi-column</a>
          
        
      
        
          
            <li><a href="../demos/images.html">Images</a>
          
        
      
        
          
            <li><a href="../demos/tumblelog.html">Tumblelog example</a>
          
        
      
        
          
            <li><a href="../demos/adding-items.html">Adding items</a>
          
        
      
        
          
            <li><a href="../demos/gutters.html">Gutters</a>
          
        
      
        
          
            <li><a href="../demos/right-to-left.html">Right-to-left</a>
          
        
      
        
          
            <li><a href="../demos/centered.html">Centered</a>
          
        
      
        
          
            <li><a href="../demos/fluid.html">Fluid</a>
          
        
      
    </ul>
    
  </nav> <!-- #site-nav -->
  
  <section id="content">
    
    
      <h1>Methods</h1>
    
    
    <p>Masonry offers several methods to extend functionality. Methods are called on an Masonry instance</p>
<div class='highlight'><pre><code class='javascript'><span class='c1'>// wall is an instance of Masonry</span>
<span class='kd'>var</span> <span class='nx'>wall</span> <span class='o'>=</span> <span class='k'>new</span> <span class='nx'>Masonry</span><span class='p'>(</span> <span class='nx'>element</span><span class='p'>,</span> <span class='nx'>options</span> <span class='p'>);</span>
<span class='c1'>// reload is a method</span>
<span class='nx'>wall</span><span class='p'>.</span><span class='nx'>reload</span><span class='p'>();</span>
</code></pre>
</div>
<h2 id='appended'>appended</h2>
<div class='highlight'><pre><code class='javascript'><span class='nx'>masonryInstance</span><span class='p'>.</span><span class='nx'>appended</span><span class='p'>(</span> <span class='p'>[</span><span class='nx'>elements</span><span class='p'>],</span> <span class='nx'>isAnimatedFromBottom</span> <span class='p'>);</span>
</code></pre>
</div>
<p>Triggers <code>.layout()</code> on an array of item elements that have been appended to the container. Setting the <code>isAnimatedFromBottom</code> argument to <code><span class='kc'>true</span></code> will enable the newly appended items to be animated from the bottom, if <a href='intro.html#css_transitions'>CSS transitions</a> are enabled.</p>

<p><a href='../demos/adding-items.html'>See Demo: Adding items</a>.</p>
<div class='highlight'><pre><code class='javascript'><span class='kd'>var</span> <span class='nx'>container</span> <span class='o'>=</span> <span class='nb'>document</span><span class='p'>.</span><span class='nx'>getElementById</span><span class='p'>(</span><span class='s1'>&#39;container&#39;</span><span class='p'>),</span>
    <span class='nx'>item1</span> <span class='o'>=</span> <span class='nb'>document</span><span class='p'>.</span><span class='nx'>createElement</span><span class='p'>(</span><span class='s1'>&#39;div&#39;</span><span class='p'>),</span>
    <span class='nx'>item2</span> <span class='o'>=</span> <span class='nb'>document</span><span class='p'>.</span><span class='nx'>createElement</span><span class='p'>(</span><span class='s1'>&#39;div&#39;</span><span class='p'>);</span>

<span class='kd'>var</span> <span class='nx'>wall</span> <span class='o'>=</span> <span class='k'>new</span> <span class='nx'>Masonry</span><span class='p'>(</span> <span class='nx'>container</span><span class='p'>,</span> <span class='p'>{</span> <span class='nx'>columnWidth</span><span class='o'>:</span> <span class='mi'>100</span> <span class='p'>});</span>

<span class='nx'>container</span><span class='p'>.</span><span class='nx'>appendChild</span><span class='p'>(</span> <span class='nx'>item1</span> <span class='p'>);</span>
<span class='nx'>container</span><span class='p'>.</span><span class='nx'>appendChild</span><span class='p'>(</span> <span class='nx'>item2</span> <span class='p'>);</span>

<span class='nx'>wall</span><span class='p'>.</span><span class='nx'>appended</span><span class='p'>(</span> <span class='p'>[</span> <span class='nx'>item1</span><span class='p'>,</span> <span class='nx'>item2</span> <span class='p'>]</span> <span class='p'>);</span>
</code></pre>
</div>
<h2 id='build'>build</h2>
<div class='highlight'><pre><code class='javascript'><span class='nx'>masonryInstance</span><span class='p'>.</span><span class='nx'>build</span><span class='p'>();</span>
</code></pre>
</div>
<p>Positions all items in the Masonry instance.</p>

<h2 id='destroy'>destroy</h2>
<div class='highlight'><pre><code class='javascript'><span class='nx'>masonryInstance</span><span class='p'>.</span><span class='nx'>destroy</span><span class='p'>();</span>
</code></pre>
</div>
<p>Removes Masonry functionality completely. Returns element back to pre-initialized state.</p>

<h2 id='layout'>layout</h2>
<div class='highlight'><pre><code class='javascript'><span class='nx'>masonryInstance</span><span class='p'>.</span><span class='nx'>layout</span><span class='p'>(</span> <span class='p'>[</span><span class='nx'>elements</span><span class='p'>]</span> <span class='p'>);</span>
</code></pre>
</div>
<p>Positions an array of item elements in layout.</p>

<p><code>.layout()</code> will only position specified elements, and those elements will be positioned at the end of layout. Whereas <code>.build()</code> will position all items in the Masonry instance.</p>

<h2 id='reloaditems'>reloadItems</h2>
<div class='highlight'><pre><code class='javascript'><span class='nx'>masonryInstance</span><span class='p'>.</span><span class='nx'>reloadItems</span><span class='p'>()</span>
</code></pre>
</div>
<p>Re-collects all item elements in their current order in the DOM for the masonry instance.</p>

<h2 id='reload'>reload</h2>
<div class='highlight'><pre><code class='javascript'><span class='nx'>masonryInstance</span><span class='p'>.</span><span class='nx'>reload</span><span class='p'>()</span>
</code></pre>
</div>
<p>Convenience method for triggering <code>.reloadItems()</code> then <code>.build()</code>. Useful for prepending or inserting items.</p>

<p><a href='../demos/adding-items.html'>See Demo: Adding items</a>.</p>
<div class='highlight'><pre><code class='javascript'><span class='kd'>var</span> <span class='nx'>container</span> <span class='o'>=</span> <span class='nb'>document</span><span class='p'>.</span><span class='nx'>getElementById</span><span class='p'>(</span><span class='s1'>&#39;container&#39;</span><span class='p'>),</span>
    <span class='nx'>item1</span> <span class='o'>=</span> <span class='nb'>document</span><span class='p'>.</span><span class='nx'>createElement</span><span class='p'>(</span><span class='s1'>&#39;div&#39;</span><span class='p'>),</span>
    <span class='nx'>item2</span> <span class='o'>=</span> <span class='nb'>document</span><span class='p'>.</span><span class='nx'>createElement</span><span class='p'>(</span><span class='s1'>&#39;div&#39;</span><span class='p'>);</span>

<span class='kd'>var</span> <span class='nx'>wall</span> <span class='o'>=</span> <span class='k'>new</span> <span class='nx'>Masonry</span><span class='p'>(</span> <span class='nx'>container</span><span class='p'>,</span> <span class='p'>{</span> <span class='nx'>columnWidth</span><span class='o'>:</span> <span class='mi'>100</span> <span class='p'>});</span>

<span class='nx'>container</span><span class='p'>.</span><span class='nx'>insertBefore</span><span class='p'>(</span> <span class='nx'>item1</span><span class='p'>,</span> <span class='nx'>container</span><span class='p'>.</span><span class='nx'>firstChild</span> <span class='p'>);</span>
<span class='nx'>container</span><span class='p'>.</span><span class='nx'>insertBefore</span><span class='p'>(</span> <span class='nx'>item2</span><span class='p'>,</span> <span class='nx'>container</span><span class='p'>.</span><span class='nx'>firstChild</span> <span class='p'>);</span>

<span class='nx'>wall</span><span class='p'>.</span><span class='nx'>reload</span><span class='p'>();</span>
</code></pre>
</div>
    
    <footer id="site-footer">
      Vanilla Masonry by <a href="http://desandro.com">David DeSandro</a>
    </footer>
    
  </section> <!-- #content -->

</body>
</html>