Just use this instead:
var $li = $("ol#update li");
function animate_li(){
$li.filter(':first')
.animate({
height: 'show',
opacity: 'show'
}, 1000, function(){
animate_li();
});
$li = $li.not(':first');
}
animate_li();
It basically captures all lis and then animates them one by one. At the same time, each iteration removes the first item from the list. If you want it to animate the other way around, replace both events :firstwith :last.