используя jquery, как использовать fadein, delay, а затем fadeout. - PullRequest
5 голосов
/ 07 сентября 2010

Мне нужно сделать что-то fadeIn, затем остаться там на секунду, а затем fadeOut, используя JQuery.

Я пробовал это, но это почему-то не работает ???1005 * какие-либо предложения, где я иду не так?

Большое спасибо !!!

Ответы [ 6 ]

12 голосов
/ 07 сентября 2010

Ваш второй подход должен быть в порядке, в соответствии с документами (http://api.jquery.com/delay/)

Другим подходом может быть использование функции обратного вызова, которая вызывается после завершения fadeIn:

$('#' + uMessage).fadeIn("fast", function() { $(this).delay(1000).fadeOut("slow"); });

просто предположение

Редактировать:

Если вы не можете использовать метод delay (), вы можете попробовать этот:

$('#' + uMessage).fadeIn("fast", function() { 
  c_obj = $(this);
  window.setTimeout(function() { $(c_obj).fadeOut("slow"); }, 1000); 
});

Вот пример: http://jsfiddle.net/KwWFR/

3 голосов
/ 07 сентября 2010

Возможно, попробуйте использовать обратный вызов, как указано в API для функции FadeIn . Он будет вызван после завершения перехода.

$('#' + uMessage).fadeIn("fast", function() {
  $(this).delay(1000).fadeOut("slow");
});
2 голосов
/ 29 ноября 2012

Задержка с постепенным исчезновением просто не работает.Использование комбинации с очередью после задержки и обратным вызовом иногда работает для других ситуаций

Это сработало для меня:

$('#message').fadeIn(function() {
  window.setTimeout(function() {
    $('#message').fadeOut('slow');
  }, 2000);
});
1 голос
/ 07 сентября 2010

Вы используете jQuery 1.4+? Функция delay () была добавлена ​​в jQuery 1.4

http://api.jquery.com/delay/

1 голос
/ 07 сентября 2010

Я думаю, что проблема заключается в используемой вами версии jQuery:

http://jsfiddle.net/b85hx/

Этот работает отлично. Переключитесь на 1.3.2 и он сломался.

0 голосов
/ 04 апреля 2015

Официальная документация jQuery гласит, что второй параметр - это не обратный вызов, а стиль смягчения.ваш обратный вызов на 3-й параметр и все будет работать.

...