Ответ 1
delay
будет никогда задерживать регулярные методы - только те, кто попадает в цепочку анимации/эффекта. Если вы хотите отложить вызов html()
, используйте queue
(http://api.jquery.com/queue/):
$('#error_box_text').html('error text').delay(5000).queue(function() {
$(this).html('')
});
Было бы неплохо, если бы вы могли сделать
$('#error_box_text').html('error text').delay(5000, function() { $(this).html('') });
но это невозможно (пока).