Originariamente inviato da Lara78
vi pregooooo è importantissimo!!
A parte che quando mettete queste cose che poi nemmeno sono vostre mi fate venire l'acidità di stomaco, anche perché poi non vi si possono nemmeno chiedere chiartimenti, dato che non è codice vostro e non sapete dove mettere le mani...
Così di primo impatto mi sa che devi aggiungere qualcosa del genere qui:
codice:
parseMenu = function(){
nbChilds = this.firstChild.childNodes.length;
//for(var i=0;i<nbChilds+1;i++){
for(var i in this.firstChild.childNodes){
temp = new itemClass();
temp.init(i);
itemMc = temp.mc;
itemMc._y = 20*i;
itemMc.park = 20*i;
itemMc.label = this.firstChild.childNodes[i].attributes.label;
// ovviamente qui dovrai fargli prendere il valore del link dall'XML, io ora, per comodità, ho usato semplicemente il valore dell'etichetta della sezione
itemMc.link = this.firstChild.childNodes[i].attributes.label;
itemMc.onPress = function(){
trace(this.link);
};
for(var j=0;j<this.firstChild.childNodes[i].childNodes.length;j++){
itemMc.attachMovie("sub","sub"+j,1000*j);
itemMc["sub"+j]._y = 20 + 20*j;
itemMc["sub"+j].toto = this.firstChild.childNodes[i].childNodes[j].attributes.label;
// idem con patate come sopra
itemMc["sub"+j].link = this.firstChild.childNodes[i].childNodes[j].attributes.label;
itemMc["sub"+j].label.text = itemMc["sub"+j].link;
//trace(this.firstChild.childNodes[i].childNodes[j].attributes.label);
itemMc["sub"+j].onPress = function(){
trace(this.link);
};
}
Testandolo però ho riscontrato che qualcosa mi copre i pulsanti di ogni submenu, quindi non mi viene rilevato il rispettivo evento onPress ma mi viene sempre eseguito quello del pulsante della voce principale selezionata. Probabilmente è solo un problema dovuto a qualche casino a livello di struttura che ho fatto io tentando di simulare il tuo menu, probabilmente da te non si presenterà questo inconveniente.