задержите эффекты JQuery

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

48
задан Matthew Murdoch 31 January 2010 в 08:00
поделиться

6 ответов

setTimeout(function() { $('#foo').fadeOut(); }, 5000);

Эти 5000 пять секунд в миллисекундах.

77
ответ дан Jason Bunting 7 November 2019 в 12:06
поделиться

Я использую этот плагин паузы, который я просто записал

$.fn.pause = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};

Вызов это как это:

$("#mainImage").pause(5000).fadeOut();

Примечание: Вам не нужен обратный вызов.

<час>

Редактирование: необходимо теперь использовать jQuery 1.4. созданный в задержке () метод. Я не проверил, но я принимаю его более 'умное', чем мой плагин.

43
ответ дан hev1 7 November 2019 в 12:06
поделиться

Можно избегать использования setTimeout при помощи fadeTo () метод и установка 5-секундной задержки на этом.

$("#hideAfterFiveSeconds").click(function(){
  $(this).fadeTo(5000,1,function(){
    $(this).fadeOut("slow");
  });
});
1
ответ дан Sampson 7 November 2019 в 12:06
поделиться

Я написал плагин, позволяющий добавлять задержку в цепочку.

например $ ('# div'). FadeOut (). Delay (5000) .fadeIn ( ); // исчезновение элемента, ожидание 5 секунд, возвращение элемента.

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

http://blindsignals.com/index. php / 2009/07 / jquery-delay /

1
ответ дан 7 November 2019 в 12:06
поделиться

Ранее вы сделаете что-то подобное

$('#foo').animate({opacity: 1},1000).fadeOut('slow');

, первая анимация не делает ничего, так как у вас уже есть непрозрачность 1 на элементе, но это будет пауза на количество времени.

В jQuery 1.4 они построили это в рамки, чтобы вам не нужно использовать взлом, как выше.

$('#foo').delay(1000).fadeOut('slow');

Функциональность такая же, как оригинал jQuery.deLay () плагин http://www.evanbot.com/article/jquery-delay-1lugin/4

19
ответ дан 7 November 2019 в 12:06
поделиться

Лучше всего использовать метод задержки jQuery:

$ ('# my_id'). Delay (2000) .fadeOut (2000);

11
ответ дан 7 November 2019 в 12:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: