YUI Anim на мероприятии After?

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

мое дело сейчас

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

...так далее

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


person Francesco    schedule 09.12.2011    source источник


Ответы (3)


Ага! Что-то типа:

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

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

См. http://developer.yahoo.com/yui/examples/animation/index.html для получения дополнительных примеров.

person Mike Christensen    schedule 09.12.2011
comment
это ЮИ 2 или 3? это не похоже на работу с моим кодом... я думаю, что использую yui3 - person Francesco; 09.12.2011
comment
Это для 2.х. Я никогда не использовал 3.x, но в документации есть некоторая информация: yuilibrary .com/yui/docs/anim/end-event.html - person Mike Christensen; 09.12.2011

Чтобы что-то сделать после завершения анимации, вам просто нужно прослушать событие «конец»:

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

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

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