title: How to pass 'this' into a setTimeout callback
body: <p><em>css</em></p>
  
  <pre><code>.item {
    display: none;
  }
  </code></pre>
  
  <p><em>html</em></p>
  
  <pre><code>&lt;div&gt;
    &lt;div class="item"&gt;machin&lt;/div&gt;
    &lt;div class="item"&gt;chose&lt;/div&gt;
    &lt;div class="item"&gt;chouette&lt;/div&gt;
    &lt;div class="item"&gt;prout&lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>I'm using jQuery and I'd like to make each <code>.item</code> appearing after a random little timer like:</p>
  
  <p><em>javascript</em></p>
  
  <pre><code>$('.item').each(function () {
    itm = $(this);
    setTimeout(function () {
      itm.fadeIn(1000);
    }, Math.floor(Math.random() * 1000));
  })
  </code></pre>
  
  <p>Here <code>itm</code> will always contain the last item because the function is evaluated after all assignments.<br>
  I can't use the 3rd parameter of <code>setTimeout()</code> because it will not work on IE.<br>
  It's not advised to use <code>setTimeout()</code> with the <em>eval</em> method for security reasons.</p>
  
  <p>So how can I access to my object through <code>setTimeout()</code> ?</p>
  
  <hr>
  
  <p><strong>Edit</strong></p>
  
  <p>I know that this question have already been posted.<br>
  But I though that it were slightly specific with the <code>each()</code> context.<br>
  Now someone have entirely changed the title of my question that was originally something like <em>'setTimeout() - jQuery.each() this object parameter'</em></p>