JQuery буфер / очередь для эффектов? Или сказать, если эффект в процессе? - PullRequest
1 голос
/ 01 июня 2009

У меня есть событие click, которое проверяет правильность формы, то есть заполненные детали ... и затем я вызываю функцию, которая делает это

$('#message_text').html(text);
$('#message_system').fadeIn("slow");
$('#message_system').animate({ opacity: 1.0 }, 5000)
                    .fadeOut('slow', function() {
                        $(this).hide();
                    });

Все работает нормально, пока я жду .. если дважды щелкнуть по кнопке, например, чтобы она перестала отображаться ...

Я предполагаю, что если это скрытый hide (), то fadeIn () автоматически покажет его?

Кто-нибудь имел опыт с этим ??

То, что я, вероятно, хотел бы сделать, - это нажать второй раз, затем отменить текущие эффекты и снова отобразить новое сообщение

1012 * БЛАГОДАРЯ *

Ответы [ 2 ]

2 голосов
/ 01 июня 2009

Я не уверен, что это то, что вам нужно, но вы смотрели на метод stop () . Вы можете сразу перейти к концу любой текущей анимации, вызвав $('#message_system').stop(true, true), прежде чем начинать снова.

1 голос
/ 01 июня 2009
if ( ! $(this).is(':animated') ) {
    // Do the animation...
}
...