Как Вы приостанавливаетесь прежде, чем исчезнуть элемент с помощью jQuery?

Вопрос в том, что matplotlib, но ради любых R-пользователей, которые здесь получают название-агностическое название:

Если вы используете ядро ​​R, просто используйте:

options(repr.plot.width=4, repr.plot.height=3)
28
задан Alexander Elgin 8 February 2016 в 15:01
поделиться

7 ответов

Новая функция задержка () в jQuery 1.4 должна сделать трюк.

$('#foo').fadeIn(200).delay(5000).fadeOut(200).remove();
44
ответ дан 28 November 2019 в 02:37
поделиться

используйте setTimeout(function(){$elem.hide();}, 5000);

, Где $elem элемент, Вы хотите скрыться, и 5000 задержка миллисекунд. Можно на самом деле использовать любую функцию в вызове к setTimeout(), тот код просто определяет маленькую анонимную функцию для простоты.

11
ответ дан John Millikin 28 November 2019 в 02:37
поделиться

В то время как подход @John Sheehan работает, Вы сталкиваетесь постепенное появление/постепенное исчезновение jQuery незначительный сбой ClearType в IE7. Лично, я выбрал бы @John Миллисемью setTimeout() подход, но если Вы установлены на чистом подходе jQuery, лучше для инициирования анимации на свойстве ненепрозрачности, таком как поле.

var left = parseInt($('#element').css('marginLeft'));
$('#element')
    .animate({ marginLeft: left ? left : 0 }, 5000)
    .fadeOut('fast');

можно быть немного более чистыми, если Вы знаете, что Ваше поле фиксированное значение:

$('#element')
    .animate({ marginLeft: 0 }, 5000)
    .fadeOut('fast');

РЕДАКТИРОВАНИЕ : Это похоже , плагин jQuery FxQueues делает, в чем Вы нуждаетесь:

$('#element').fadeOut({
    speed: 'fast',
    preDelay: 5000
});
8
ответ дан dansays 28 November 2019 в 02:37
поделиться

Для чистого подхода jQuery можно сделать

$("#element").animate({opacity: 1.0}, 5000).fadeOut();

, Это - взлом, но это делает задание

6
ответ дан John Sheehan 28 November 2019 в 02:37
поделиться
var $msg = $('#msg-container-id');
$msg.fadeIn(function(){
  setTimeout(function(){
    $msg.fadeOut(function(){
      $msg.remove();
    });
  },5000);
});
4
ответ дан Shiladitya 28 November 2019 в 02:37
поделиться

Следуя за комментарием dansay, следующее, кажется, работает отлично:

$('#thing') .animate({dummy:1}, 2000) .animate({ etc ... });

2
ответ дан RET 28 November 2019 в 02:37
поделиться

ответ дансайса просто не работает для меня. По какой-то причине remove () запускается немедленно, и div исчезает до того, как произойдет какая-либо анимация.

Следующие действия, однако, работают (опуская метод remove () ):

$('#foo').fadeIn(500).delay(5000).fadeOut(500);

Я не возражаю, если на странице есть скрытые DIV (их должно быть не больше нескольких в любом случае).

1
ответ дан 28 November 2019 в 02:37
поделиться
Другие вопросы по тегам:

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