Ответ 1
Настройте продолжительность своего вызова hide()
, и он будет работать следующим образом:
$('#results').hide().html(data).fadeIn('slow').delay(5000).hide(1);
Проблема заключается в том, что hide()
без каких-либо параметров является непосредственной операцией. Он не проходит через очередь fx, поэтому он не приходит после .delay(5000)
. Но если вы даете длительность функции типа .hide(1)
, то она становится анимацией и проходит через очередь fx и, таким образом, выйдет после .delay(5000)
.
Вы можете увидеть, как он работает здесь: http://jsfiddle.net/jfriend00/wzbtU/
Когда задана продолжительность,.hide() становится методом анимации.