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

ActionScript 1 & ActionScript 2 Discussion :

Pb retour menu accordeon


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Par défaut Pb retour menu accordeon
    Bonjour à tous,

    J'ai un petit problème. Je suis en train de travailler sur un menu accordeon horizontal et je n'arrive pas à créer le retour (accordeon qui se ferme).

    En gros quand je clique sur un mc, ses voisins se déplacent de x pixels, c'est qu'une fois déplacé, je n'arrive pas à ce qu'il reviennent à leur positions originales...

    Voici mon code et le swf :

    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
    40
    41
    42
    #include "lmc_tween.as"  
     
    var time:Number = 1;
    var ease:String = "easeoutExpo";
    var xas:String = "_x";
    var prop:Number = 300;
     
    positions = new Array();
    buttons = new Array(mc1, mc2, mc3, mc4, mc5);
     
    //deplacement
    onEnterFrame = function () {
    	for (i=1; i<=buttons.length; i++) {
    		buttons[i]._x = (buttons[i-1] + buttons[i-1]._width + 2);
    	}
    };
     
    //insère les positions de depart dans positions[]
    for(i=0; i<=buttons.length; i++) {
    	positions.push(buttons[i]._x);
    }
     
    //gère le deplacement des movieClip
    function animation(itemRelease) {
     
    	numero = itemRelease._name.substr(2,1);
     
    	for (i=numero; i<=buttons.length; i++) {
    		buttons[i].tween(xas, positions[i]+300, time, ease);
    	}
     
    	itemRelease.tween(xas, positions[numero + 1], time, ease);
     
    }
     
    //au clique sur les movie clip declenche le deplacement
    for (i=0; i<=buttons.length; i++) {			
    	buttons[i].onRelease = function() {
    		delete this.onEnterFrame;
    		animation(this);
    	};
    }
    Merci d'avance pour l'aide.

    Nicolas
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Par défaut
    Bon ben voici ma solution, je suis ouvert aux critiques et améliorations (pas trop de critiques quand même puisque personne n'a pu m'aider !)

    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
    40
    41
    42
       #include "lmc_tween.as"   
     
       var time:Number = 1; 
       var ease:String = "easeoutExpo"; 
       var xas:String = "_x"; 
       var prop:Number = 238; 
     
       positions = new Array(); 
       buttons = new Array(mc1, mc2, mc3, mc4, mc5); 
     
      //insère les positions de depart dans positions[] 
      for(i=0; i<=buttons.length; i++) { 
           positions.push(buttons[i]._x); 
      } 
     
      //gère le deplacement des movieClip 
      function animation(itemRelease) { 
     
           numero = itemRelease._name.substr(2,1); 
     
          //deplace tout les movieClip de droite 
          for (i=numero; i<=buttons.length; i++) { 
              buttons[i].tween(xas, positions[i]+ prop, time, ease); 
          } 
     
           //deplace ceux de gauche 
           for (i=1; i<numero; i++) { 
               buttons[i].tween(xas, positions[i], time, ease); 
           } 
     
       } 
     
      //ouverture dès le début 
       animation(mc1); 
     
       //au clique sur les movie clip declenche le deplacement 
       for (i=0; i<=buttons.length; i++) {           
          buttons[i].onRollOver = function() { 
               delete this.onEnterFrame; 
               animation(this); 
           }; 
       }
    en prime le swf...

    merci pour votre aide ! icon_biggrin.gif lol

    Nico
    Fichiers attachés Fichiers attachés

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Bonjour,

    je suis aussi à la recherche de ce type de menu.
    Je l'ai vu aussi ici, tu peux sans doute y trouver des infos intéressantes.

    Personnellement j'aimerais qu'il soit dynamique (que le SWF aille chercher les images et les liens sur un fichier XML).

    Je n'ai malheureusement pas trouvé de script…
    Si quelqu'un connaît : Merci !

Discussions similaires

  1. reproduire un menu accordeon sans librairie
    Par legide dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/04/2009, 15h00
  2. Menu accordeon de dezinerfolio
    Par Justone22 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/02/2009, 16h28
  3. Compatibilité ff/ie (menu accordeon)
    Par late_night1982 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/11/2008, 17h59
  4. [AJAX] Menu accordeon AJAX
    Par zepload dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/02/2008, 13h38
  5. [MooTools] Menu accordeon
    Par keub51 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 23/05/2007, 16h56

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