begin process at 2008 08 08 20:14:48
1 223 583 membres
341 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme pour masquer sous menu [ Scripts / ActionScript ] (n1k00)

Probleme pour masquer sous menu le 15/06/2007 09:53:11

n1k00
Bonjour, voila je suis en train de réaliser un menu vertical en flash avec lecture dans un fichier xml et je rencontre un soucis pour faire en sorte de n'avoir qu'un menu ouvert à la fois. Les deux problèmes que je rencontre sont situés au niveau de la double boucle for (en route dans le code suivant). Le premier problème vient du fait que la deuxieme boucle for ne me trouve pas les sous_menu au dela du 7 (premier a pour indice 0). Ensuite lorsque je cherche a masqué les menu en mettant this["sous_menu"+j]._visible = 0 ca me masque tous les sous menu y compris celui que je veux ouvrir. Merci d'avance à ceux qui pourront m'apporter un coup de main.

on (press) {
 /********    Variables      *********/
 //Récupération du nom
 nom = this._name.substr(4, 5);
 //Variable pour la hauteur d'un menu et si il a été cliqué ou non
 var hauteur, clic;
 //Si la hauteur = 59.95 ou si clic = 0
 if (this._height == 59.95 or clic == 0) {
  //Hauteur initialisé à 0
  hauteur = 0;
  //Affichage des sous-menu correspondant au menu actuel
  for (i=0; i<this._parent.menus[nom].childNodes.length; i++) {
   //Création des sous menu
   this.sous_menu.duplicateMovieClip("sous_menu"+i, i*1);
   //Affichage des informations
   this["sous_menu"+i].sous_titre = (this._parent.menus[nom].childNodes[i].attributes.titre);
   //Position du sous menu par rapport au précédent
   this["sous_menu"+i]._y = this["sous_menu"+(i-1)]._y+17;
   //calcul de la hauteur du menu
   hauteur = hauteur+17;
  }
  //On récupère dans un entier le menu suivant
  test = parseInt(nom)+1;
  //Boucle de repositionnement des menus plus bas.
  for (i=test; i<_root.menus.length; i++) {
   menu = _root["menu"+i]._y;
   _root["menu"+i]._y = menu+hauteur+10;
  }
  for (i=test; i<_root.menus.length; i++) {
   trace(this._parent["menu"+i]._name);
   for (j=0; j<this._parent.menus[i].childNodes.length; j++) {
    trace(this["sous_menu"+j]._name);
   }
  }

  //Clic = 1
  clic = 1;
 } else {
  //On masque les sous menu du menu en cours
  for (i=0; i<this._parent.menus[nom].childNodes.length; i++) {
   this["sous_menu"+i]._visible = 0;
  }
  //On récupère dans un entier le menu suivant
  test = parseInt(nom)+1;
  //Boucle de repositionnement des menus en position normal.
  for (i=test; i<_root.menus.length; i++) {
   menu = _root["menu"+i]._y;
   _root["menu"+i]._y = menu-hauteur-10;
  }
  //Clic = 0
  clic = 0;
 }
}


Classé sous : menu, clic, test, hauteur, for

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS