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 :

Récupération d'objet avec onComplete après un Morph [MooTools]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Par défaut Récupération d'objet avec onComplete après un Morph
    Bonjour,
    J'ai un petit soucis avec un code Mootools que voilà:
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>Test Mootools</title>
    		<script src="mootools-core.js"></script>
    	</head>
    	<body>
    		<h3 id="titre">Titre 1</h3>
     
    		<script>
    		window.addEvent('domready',function(){
    			function ClasseEff(id,temps){
    				this.eff1 = new Fx.Morph(id,{
    					duration:temps,
    					transition:'quad:in',
    					onComplete:function(el){
    						this.eff2.start({'fontSize':'16px'});
    						// ne fonctionne pas car this est un objet morph et non ClasseEff
    					}
    				});
    				this.eff2 = new Fx.Morph(id,{
    					duration:temps,
    					transition:'quad:out',
    					onComplete:function(){
    						this.eff1.start({'fontSize':'80px'});
    						// ne fonctionne pas car this est un objet morph et non ClasseEff
    					}
    				});
    				this.go = function(){
    					this.eff1.start({'fontSize':'80px'});
    				};
    			}
    			var effet = new ClasseEff($('titre'),2000);
    			effet.go();
    		});
    		</script>
    	</body>
    </html>
    J'ai mis une page html entière pour permettre les testes...

    Mon problème est que je n'arrive pas à exécuter le 2e effet (effet.eff2.start()) à la fin du 1er effet...
    Comme écrit en remarque dans mon code, this correspond à un objet Morph et non à ma class effet.
    Existe-il une solution ?
    Merci d'avance.

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Je dois avouer que je ne comprends pas votre manière de faire. Vu que vous parlez de Class, autant créer une classe et lui donner des méthodes. Le this sera remplacé par l'objet effet (qu'on veillera à rendre accessible) :

    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
     
    var ClasseEff = new Class({
       initialize: function(id, temps){
          this.id = id,
          this.temps = temps,
     
          this.eff1 = new Fx.Morph(this.id,{
             duration: this.temps,
             transition: 'quad:in',
             onComplete: function(){
                effet.eff2.start({'fontSize':'16px'});
             }
          }),
     
          this.eff2 = new Fx.Morph(this.id,{
             duration: this.temps,
             transition: 'quad:out',
             onComplete: function(){
                effet.eff1.start({'fontSize':'80px'});
             }
          })
       }
    });
     
    var effet = new ClasseEff($('titre'), 2000);
    effet.eff1.start({'fontSize':'80px'});

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2012
    Messages : 23
    Par défaut
    Bonjour,
    Merci de me répondre.
    Citation Envoyé par vermine Voir le message
    Je dois avouer que je ne comprends pas votre manière de faire
    Alors, je suis assez mal partis...

    Mon but est de pouvoir créer plusieurs objets avec différents annimations:

    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
    window.addEvent('domready',function(){
    			function ClasseEff(id,temps){
    				this.eff1 = new Fx.Morph(id,{
    					duration:temps,
    					transition:'quad:in',
    					onComplete:function(el){
    						this.eff2.start({'fontSize':'16px'});
    						// ne fonctionne pas car this est un objet morph et non ClasseEff
    					}
    				});
    				this.eff2 = new Fx.Morph(id,{
    					duration:temps,
    					transition:'quad:out',
    					onComplete:function(){
    						this.eff1.start({'fontSize':'80px'});
    						// ne fonctionne pas car this est un objet morph et non ClasseEff
    					}
    				});
    				this.go = function(){
    					this.eff1.start({'fontSize':'80px'});
    				};
    			}
    			var effet = new ClasseEff($('titre'),2000);
    			effet.go();
    			var effet2 = new ClasseEff($('text'),1000);
    			effet2.go();
    		});
    C'est pour cette raison que j'aimerais récupérer "une instance" à la fin du Morph eff1 pour lancer le 2e.

    J'espère être un peu plus claire, c'est pas évident à expliquer...

    Le but final du scripte est de récupérer des informations d'animation puis créer les objets morph et les exécuter.

    Encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème récupération d'un objet avec WCF
    Par pivox dans le forum Windows Communication Foundation
    Réponses: 7
    Dernier message: 10/05/2014, 23h46
  2. Risques après récupération de données avec un logiciel ?
    Par Niagala dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 28/03/2008, 13h23
  3. Réponses: 1
    Dernier message: 21/10/2005, 13h08
  4. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  5. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22

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