function slideDown( elem ) { // Start the slide down at 0 elem.style.height = '0px'; // Show the element (but you can see it, since the height is 0) show( elem ); // Find the full, potential, height of the element var h = fullHeight( elem ); // WeÕre going to do a 20 ÔframeÕ animation that takes // place over one second for ( var i = 0; i <= 100; i += 5 ) { // A closure to make sure that we have the right ÔiÕ (function(){ var pos = i; // Set the timeout to occur at the specified time in the future setTimeout(function(){ // Set the new height of the element elem,.style.height = ( pos / 100 ) * h ) + "px"; }, ( pos + 1 ) * 10 ); })(); } }