Existe-t-il un moyen de déclencher un événement après la fin d'une animation? quelle est la solution? Je suis très nouveau avec les bibliothèques YUI et je me perds ..

Ma décision est maintenant

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

...etc

Remarque: cela s'applique à YUI2.

2
Francesco 9 déc. 2011 à 19:35

3 réponses

Meilleure réponse

Ouaip! Quelque chose comme:

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

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

Voir http://developer.yahoo.com/yui/examples/animation/index. html pour plus d'exemples.

1
Mike Christensen 9 déc. 2011 à 15:39

L'idée est que, comme une animation prend du temps, vous souhaiterez peut-être être averti lorsque l'animation se terminera pour exécuter toute logique supplémentaire dont vous pourriez avoir besoin: Voici quelques utilisations de cet événement:

  1. Déclenchez des animations supplémentaires une fois qu'une animation est terminée. Il peut s'agir du même élément ou d'une partie complètement différente de l'interface utilisateur.
  2. Supprimez l'élément du DOM. C'était peut-être une fenêtre contextuelle qui, une fois fermée (avec une animation), n'est plus nécessaire dans le DOM
  3. Quelque chose d'autre, comme remplir l'élément avec du contenu, etc.
0
PatrikAkerstrand 9 déc. 2011 à 15:39

Pour faire quelque chose après la fin d'une animation, il suffit d'écouter l'événement "end":

var anim = new Y.Anim({
    node: node,
    duration: 1.0,
    easing: Y.Easing.easeOut,
    on: {
        end: function (e) {
            // your stuff here
        }
    }
});
1
juandopazo 9 déc. 2011 à 16:58
8447821