IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

AnimateProperty, Combine et onEnd


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 19
    Points
    19
    Par défaut AnimateProperty, Combine et onEnd
    Bonjour, j'ai un soucis avec Dojo (avec lequel je débute) et ces animations.
    Je cherche a faire un effet de défilement d'image verticale infinie à partir d'une liste (UL/LI).
    Pour ceci, je fais une boucle sur chaque enfant de mon UL et je stock la préparation des animations dans un array pour le combiner ensuite dans le but que chaque anim se lance en simultanné.
    Une fois chaque animation terminé (onEnd) je veux vérifier si le LI est encore visible pour, dans le cas contraire, le passer en fin de UL avec place.

    Le soucis c'est que j'ai l'impression que le onEnd ne garde en mémoire que ce que je lui ai paramétré dans la dernière animation de la boucle...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    function lanceCol(objColonne) {
        var listLi = dojo.query('ul li', objColonne) ; // Selectionne les LI dans la colonne voulu
        var nbLi = listLi.length ; // Compte le nombre de LI
        var arrAnim = new Array() ; // Crée l'array de stockage
        // Pour chaque LI
        for(var numero=0; numero<nbLi; numero++) {
            var li=listLi[numero] ; // On récupère le LI pour une meilleur lisibilité
            var offsettop = dojo.style(li, 'top') ; // Récupére la position actuelle
            var neuOffset = offset + offsettop ; // Calcul la position finale
            // Crée l'animation et la stock
            arrAnim[numero] = dojo.animateProperty({
                node : li,
                properties: {top: neuOffset},
                duration:duree,
                onEnd: function(){
                    console.log(numero) ;
                    // place(li, dojo.query('ul', objColonne, 'last') ;
                }
            }) ;
        }
        var anime = dojo.fx.combine(
            arrAnim
        ) ;
        return anime ;
    }
     
    dojo.ready(function(){
    var anim = lanceCol(__selectedCols__) ;
    anim.play() ;
    }) ;
    Pour le test, j'ai simplement crée une liste UI/LI avec 10 enfants et lors du lancement de la fonction, dans firebug/console, je n'ai que des 9 qui ressortent des fonctions onEnd. Il ressort le bon nombre de fois mais toujours à 9, 9 représentant donc uniquement le dernier LI parmi tout ceux de l'animation.

    En gros, je voudrais avoir un event onEnd pour chaque animation malgré le combine. Je ne sais pas si c'est 'impossible' dans le sens ou le combine 'mergerait' toute les animations en une seule, ne laissant ainsi qu'un seul onEnd ou si c'est simplement une erreur de ma part niveau algo.

    Précision : j'ai testé avec beforeBegin et onBegin et les résultats sont les même : dans la console, il ne me retourne que le dernier événement.

    Si quelqu'un a une idée, je suis preneur

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    Bonjour,

    Avez vous pensé à regarder du côté des widgets disponibles avec Dojo ?
    Il me semble que le thumbNailPicker correspond à ce que vous souhaitez faire (si j'ai bien compris).

Discussions similaires

  1. [SQL] Combiner fonction d'agrégation et DISTINCT .
    Par p@radox dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/12/2004, 17h11
  2. [flux] héritage combiné d'ifstream et d'ofstream
    Par suizokukan dans le forum SL & STL
    Réponses: 5
    Dernier message: 08/11/2004, 17h09
  3. [langage] combiner s et tr ?
    Par schnecke dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2004, 13h46
  4. Combiner plusieurs textures avec couches alpha
    Par TibobiT dans le forum OpenGL
    Réponses: 2
    Dernier message: 01/05/2004, 15h20
  5. [VB6] Combiner 2 styles avec MSChart
    Par khany dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/04/2003, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo