Willkommen in der Webstatt
User-1 am 05.03.06 19:13

hey leute,ich schon wieder

hab nen kleines problem :

hab ein xml menu erstellt.zu erst einfach nur mal ohne submenu.
klappt wunderbar-garkein ding. aber jetzt wollte ich ein submenu dazu machen.
die xml datei sieht so aus :

<knoten>
-
<kindknoten name="Home" beschreibung="http://www.maxi-hammes.de">
<submenu subname="Startseite" beschreibung="http://www.maxi-hammes.de"/>
<submenu subname="Konfiguration" beschreibung="http://www.maxi-hammes.de"/>
<submenu subname="Support" beschreibung="http://www.maxi-hammes.de"/>
<submenu subname="Logout" beschreibung="http://www.maxi-hammes.de"/>
</kindknoten>
-
<kindknoten name="About Us" beschreibung="http://www.maxi-hammes.de">
<submenu subname="Team" beschreibung="http://www.maxi-hammes.de"/>
<submenu subname="Firma" beschreibung="http://www.maxi-hammes.de"/>
<submenu subname="Ausrüstung" beschreibung="http://www.maxi-hammes.de"/>
</kindknoten>
</knoten>


so,wie sollte ich das jetzt mit dem submenu machen ?
poste euch einfach mal meinen code wie ich es mir gedacht habe.
mir wäre wichtig,dass ihr mir das dann auch irgendwie mit meinen codeschnipseln erklären könnt,damit ich auch was lernen kann

flash_menu = new XML();
flash_menu.ignoreWhite = true;
flash_menu.load('http://xyz-118nic.de/tests/flash_menu/menu_2.php');
flash_menu.onLoad = function() {
punkte = this.firstChild.childNodes;
//submenu = this.firstChild.childNodes[0].childNodes;
//submenu2 = this.firstChild.childNodes[1].childNodes;
//trace(punkte[1].attributes.name)
//trace(submenu[0].attributes.subname);
//trace(submenu2[0].attributes.subname);
//trace(this.firstChild.childNodes)
for (i=0; i<punkte.length; i++) {
t = _root.attachMovie('Button2', 'Button2'+i, i);
t.buttText.text.text = punkte[i].attributes.name;
t._y = 20*i;
t._y += 100;
t._x = 150;
//t.link = punkte[i].attributes.beschreibung;
t.onPress = anzeige
//getURL(this.link, '_blank');

t.onRollOver = function() {
this.gotoAndPlay(2);
};
t.onRollOut = function() {
this.gotoAndPlay(11);
};
}
};
function anzeige () {
submenu = this.firstChild.childNodes[0].childNodes;
//submenu2 = this.firstChild.childNodes[1].childNodes;
for (a=0;a<submenu.length;a++) {
n = _root.attachMovie('sub','sub'+a,a)
n.sub.subMenu.text = submenu[a].attributes.subname
n._y = 20*i;
n._y += 300;
n._x = 150;
}
}


wie ihr seht,hab ich unten eine funktion. hab mir halt gedacht,dass ich einfach
wenn ich auf den ersten button klicke das submenu irgendwie lade oder,so...
naja das war dann aber nichts


mfg

netcup.de Warum gibt es hier Werbung?
User-2 am 05.03.06 20:08

kannst mal die .fla anhängen?

User-1 am 06.03.06 17:22

habs gott sei dank fast hinbekommen.
zeit läuft weg.das ist xyz-204ig..


this.stop();
var flash_menu = new XML();
flash_menu.ignoreWhite = true;
flash_menu.onLoad = function(success) {
if (success) {
var punkte = this.firstChild.childNodes;
for (i=0; i<punkte.length; i++) {
var t = _root.attachMovie('Button2', 'Button2'+i, i);
t.buttText.text.text = punkte[i].attributes.name;
// new: var ID
t.ID = i;
t._y = 20*i;
t._y += 100;
t._x = 150;
t.onRollOver = function() {
this.gotoAndPlay(2);
};
t.onRelease = function() {
// new: call anzeigen with argument ID ...
anzeige(this.ID);
};
t.onRollOut = function() {
this.gotoAndPlay(11);
};
}
}
};
function anzeige(ID) {
var submenu = flash_menu.firstChild.childNodes[ID].childNodes;
for (a=0; a<submenu.length; a++) {
trace(submenu[a].attributes.subname);
// do something, build submenue ...
_root.createEmptyMovieClip("subMenu_mc", this.getNextHighestDepth());
var n = _root.subMenu_mc.attachMovie('sub', 'sub'+a, a);
n._y = 20*a;
n._y += 185;
n._x = 150;
n.sub.subMenu.text = submenu[a].attributes.subname;
n.onRollOver = function() {
this.gotoAndPlay(2);
};
n.onRollOut = function() {
this.gotoAndPlay(11);
};
}
}
flash_menu.load('http://xyz-118nic.de/tests/flash_menu/menu_2.php');

User-3 am 09.03.06 21:26

fast oder ganz?

Also brauchst du noch irgendwo Hilfe

User-1 am 09.03.06 21:31

nope passt :)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt