Конечно, раздел 4 анимируется первым, потому что «код» установлен последним в цикле;)
Код перезаписывается в каждом цикле цикла, вы должны использовать + = вместо = в цикле.
В любом случае, ваш подход - не лучшая практика, проверьте это:
Редактировать: Recursive Fade!
$(document).ready(function() {
chainAnim($('.section'), 'slow', 1);
});
function chainAnim(e, s, o) {
e = $.makeArray(e);
if(e.length == 0) { return; }
$(e.shift()).fadeTo(s, o, function() {
console.log('Done.');
chainAnim(e, s, o);
});
}
Демо: http://jsfiddle.net/97dEc/3/