What's going wrong with setTimeout?

What's going wrong with setTimeout?

Hi guys - I'm still very new to jQuery, I have the below code working fine:

  1. jQuery(document).ready(function($) {
  2.     $(this).find('.logo').animate({ marginTop: '-296px',}, 1000);
  3.         $(this).find('#one').animate({ opacity: 1,}, 2000);
  4.                 $(this).find('#two').animate({ opacity: 1,}, 2000);
  5.                         $(this).find('#three').animate({ opacity: 1,}, 2000);

  6.            });
However, when I try to make it kick in two seconds after document ready it breaks entirely. Code below:

  1. jQuery(document).ready(function($) {
  2. setTimeout(function() {
  3. $(this).find('.logo').animate({ marginTop: '-296px',}, 1000);
  4. $(this).find('#one').animate({ opacity: 1,}, 2000);
  5. $(this).find('#two').animate({ opacity: 1,}, 2000);
  6. $(this).find('#three').animate({ opacity: 1,}, 2000);


  7. }, 2000);

  8. });
I'd like to know what I'm doing wrong. Bonus points to whoever can help me chain the animations (i.e., .logo gains its margin, #one gets its opacity, #two gets its opacity and then #three gets its opacity one after eachother).

Thanks!