Bonjour a tous !
Je voudrais generer suite, à un choix dans un menu déroulant, un nouveau menu. Je pense ne pas etre trés loin de la solution mais je bloque ...
Voici le code :
var chargementDocXML = new XML();
chargementDocXML.load("menuprincipal.xml");
chargementDocXML.ignoreWhite = true;
//
chargementDocXML.onLoad = function() {
var racine = this.firstChild;
var nbrMenus = racine.childNodes.length;
//
for (i=0; i<nbrMenus; i++) {
_root.attachMovie("elementMenu", "menu"+i, i);
_root["menu"+i]._x = 110+(i*126);
_root["menu"+i]._y = 420;
_root["menu"+i].numeroDeMenu = i;
_root["menu"+i].nomElement = racine.childNodes[i].attributes.Nom;
//_root["menu"+i].affichageMenu = false;
//
_root["menu"+i].onPress = function() {
var nbrElementsMenu = racine.childNodes[this.numeroDeMenu].childNodes.length;
effacerelementsDeMenus();
for (i=0, j=10; i<nbrElementsMenu; i++, j++) {
_root.attachMovie("elementMenu", "elementDeMenu"+i, j);
_root["elementDeMenu"+i]._x = this._x;
_root["elementDeMenu"+i]._y = this._y-(i*22)-22;
_root["elementDeMenu"+i].nomElement = racine.childNodes[this.numeroDeMenu].childNodes[i].attributes.Nom;
_root["elementDeMenu"+i].numeroDeMenu = this.numeroDeMenu;
_root["elementDeMenu"+i].numeroElement = i;
_root["elementDeMenu"+i].onPress = function() {
var nbrSousMenus = racine.childNodes[this.numeroDeMenu].childNodes[this.numeroElement].childNodes.length;
effacerelementsDeMenus();
for (i=0, j=10; i<nbrSousMenus; i++, j++) {
_root.attachMovie("elementMenu", "elementDeMenu"+i, j);
_root["elementDeMenu"+i]._x = 200;
_root["elementDeMenu"+i]._y = 110+(i*22);
_root["elementDeMenu"+i].nomElement = racine.childNodes[this.numeroDeMenu].childNodes[this.numeroElement].childNodes[i].attributes.Nom;
_root["elementDeMenu"+i].numeroDeMenu = this.numeroDeMenu;
_root["elementDeMenu"+i].numeroElement = i;
}
};
}
};
}
};
La ligne qui m'embete est celle ci :
_root["elementDeMenu"+i].nomElement = racine.childNodes[this.numeroDeMenu].childNodes[this.numeroElement].childNodes[i].attributes.Nom
En effet si je la change par :
_root["elementDeMenu"+i].nomElement = racine.childNodes[0].childNodes[0].childNodes[i].attributes.Nom;
Mon code marche parfaitement... mais empeche une interaction avec le xml !
Quelqu'un pourrait m'aider a trouver le bogue contenue dans cette ligne ? (enfin ... si ca se trouve il est ailleur :o )
Merci !