YUI Anim на После события?

Есть ли способ вызвать событие после завершения анимации? что за причина? Я очень новичок в библиотеках YUI и теряюсь...

моя ведьма сейчас

    var anim = new Y.Anim({
        node: node,
        duration: 1.0,
        easing: Y.Easing.easeOut
    });

...так далее

Примечание: это относится к YUI2.

3 ответа

Решение

Ага! Что-то вроде:

var myAnim = new YAHOO.util.Anim("yourId", {
   left: {from: 0, to:75}
}, 1);

myAnim.onComplete.subscribe(function() {
   alert('Done!');
});

See http://developer.yahoo.com/yui/examples/animation/index.html for more examples.

Чтобы сделать что-то после анимации, вам просто нужно прослушать событие "end":

var anim = new Y.Anim({
    node: node,
    duration: 1.0,
    easing: Y.Easing.easeOut,
    on: {
        end: function (e) {
            // your stuff here
        }
    }
});

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

  1. Запустите дополнительные анимации после завершения анимации. Это может быть один и тот же элемент или совершенно другая часть пользовательского интерфейса.
  2. Удалить элемент из DOM. Возможно, это было всплывающее окно, которое после закрытия (с анимацией) больше не требуется в DOM
  3. Что-то другое, например, заполнение элемента контентом и т. Д.
Другие вопросы по тегам