Обратный звонок до завершения эффекта? - PullRequest
0 голосов
/ 08 февраля 2012

Я использую JQuery-UI.Я хочу запустить новый эффект до того, как закончится текущий.Возможно ли это?

В настоящее время я использую что-то вроде этого кода:

    div1.hide({
        duration: 1000,
        easing: 'easeOutQuint',
        effect: 'drop',
        direction : 'up'
    });
    div1.promise().done(function(){
        div2.show();
    });

Спасибо!

Редактировать: я хотел бы избежать таймеров, есливозможно.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Вы можете сделать это просто с помощью setTimeout():

div1.hide({
    duration: 1000,
    easing: 'easeOutQuint',
    effect: 'drop',
    direction : 'up'
});
setTimeout(function(){
    div2.show();
}, 900);

. Вышеприведенное будет эффективно начинаться div2.show() примерно за 100 миллисекунд до окончания действия div1.hide() (другими словами: через 900 миллисекунд послезапускается анимация 1000 миллисекунд).

0 голосов
/ 08 февраля 2012

Вы можете отменить текущий эффект, используя $. Stop ()

...