Probleme mit Flashmenu

flashmx62

Grünschnabel
Hallo zusammen....... ich habe ein kleines problem mit meinem flashmenu. vielleicht kann mir da jemand helfen. Ich habe in Flash ein vertical menu gebastelt und ausgelesen wir dieses menu in xml. Es klapp eigentlich alles gut, nur wenn ich in der menu den link anklicke geht im browserfenster eine neue seite auf. das möchte ich aber nicht. ich habe vollgenden code verwendet linktarget "_self"?
kann mir da jemand helfen ?
danke im voraus

frank

<?xml version="1.0"?>
<menu name="beispiel">
<menu name="Service">
<eintrag name="Botendienste" aktion="gotoURL"variables="botendienst.html"linkTarget= "_self"/>
<eintrag name="Kosmetikberatung" aktion="message" variables="Teil 1.2"/>
<eintrag name="Kundenkarte/Hauttest" aktion="gotourl" variables="Teil 5"/>
<eintrag name="Blutuntersuchungen" aktion="gotourl" variables="Teil 5"/>
<eintrag name="Impfberatung" aktion="gotourl" variables="Teil 5"/>
<eintrag name="Kompressionsstrümpfe" aktion="gotourl" variables="Teil 5"/>
<eintrag name="Diabetes" aktion="gotourl" variables="Teil 5"/>
<eintrag name="Geräteverleih" aktion="gotourl" variables="Teil 5"/>
 
Hallo jens,über diesen actionscipt im flashfilm.
Code:
GenerateMenu = function(container, menuname, x, y, depth, xml_element) {
	// Initialisierung
	var akt_element;
	var akt_eintrag;
	var akt_menu = container.createEmptyMovieClip(menuname, depth);
	
	// Sämtliche Einträge erfassen
	for (var i=0; i<xml_element.childNodes.length; i++) {
		
		// MovieClip für jeden Eintrag erzeugen
		akt_eintrag = akt_menu.attachMovie("menueintrag","eintrag"+i+"_mc", i);
		akt_eintrag._x = x;
		akt_eintrag._y = y + i*akt_eintrag._height;
		akt_eintrag.trackAsMenu = true;
		
		// Menüeintrags Eigenschaften anhand der XML Zuweisung festlegen
		akt_element = xml_element.childNodes[i];
		akt_eintrag.aktion = akt_element.attributes.aktion;
		akt_eintrag.variables = akt_element.attributes.variables;
		akt_eintrag.menuname.text = akt_element.attributes.name;
		
		// Untermenü Eintrag Verhalten für Rollover Ereignis festlegen
		if (xml_element.childNodes[i].nodeName == "menu"){
			// Untermenü Öffnen (durch Rekursiven Aufruf)
			akt_eintrag.xml_element = akt_element;
			akt_eintrag.onRollOver = akt_eintrag.onDragOver = function(){
				clearInterval(timeout_iv);
				var x = this._x + this._width;
				var y = this._y;				
				GenerateMenu(akt_menu, "submenu_mc", x, y, 1000, this.xml_element);
				// Drüber Zustand (Färben)
				var col = new Color(this.hintergrund);
				col.setTransform({ra:50,rb:70,ga:50,gb:70,ba:50,bb:70});				
			};
		}else{ // Elementname "eintrag"
			akt_eintrag.pfeil._visible = false;
			// Untermenü Schliessen
			akt_eintrag.onRollOver = akt_eintrag.onDragOver = function(){
				clearInterval(timeout_iv);
				akt_menu.submenu_mc.removeMovieClip();
				// Drüber Zustand (Färben)
				var col = new Color(this.hintergrund);
				col.setTransform({ra:50,rb:70,ga:50,gb:70,ba:50,bb:70});				
			};
		}
		
		akt_eintrag.onRollOut = akt_eintrag.onDragOut = function(){
			// Ursprüngliche Einfärbung wiederherstellen
			var col = new Color(this.hintergrund);
			col.setTransform({ra:100,rb:0,ga:100,gb:0,ba:100,bb:0});			
			// TimeOut (Aktiv oder Inaktiv) (ComboBox und Numericstepper)
			if (timeout_cb.value) TimeOut (this, dauer_stepper.value*1000);
		};
		
		// Mögliche Aktionen des jeweiligen Eintrags auslösen
		akt_eintrag.onRelease = function(){
			Aktionen[this.aktion](this.variables);
			CloseSubmenus();
		};
	}
};

// Hauptmenü erzeugen
CreateMainMenu = function(x, y, depth, menu_xml){
	// Menüliste erzeugen
	GenerateMenu(this, "mainmenu_mc", x, y, depth, menu_xml.firstChild);
	// Untermenüs lediglich dann schliessen, wenn diese während
	// eines MouseUp Ereignisses sichtbar waren	
	mainmenu_mc.onMouseUp = function(){
		if (mainmenu_mc.submenu_mc && !mainmenu_mc.hitTest(_root._xmouse, _root._ymouse, true)){
			CloseSubmenus();
		}
	};
};

// Sämtliche Untermenüs entfernen, falls welche im Hauptmenü existieren
CloseSubmenus = function(){
	clearInterval(timeout_iv);
	mainmenu_mc.submenu_mc.removeMovieClip();
};

// Setzt ein Timeout um die Untermenüs nach einer festgelegten
// Zeit wieder zu schließen.
TimeOut = function (ziel, dauer) {	
	function setzeOut() {
		if (!ziel.hitTest()) {		
			CloseSubmenus();
			clearInterval (timeout_iv);
		}
	}
	this.timeout_iv = setInterval(setzeOut, dauer);
}

// Objekt verwaltet die Aktionen die den jeweiligen Einträgen 
// innerhalb der XML-Struktur zugewiesen wurden.
Aktionen = new Object();
Aktionen.message = function(msg){
	ausgabe_txt.text = msg;
};
Aktionen.gotoURL = function(urlVar){
	getURL(urlVar, "_blank");
};
Aktionen.newMenu = function(menuxml){
	menu_xml.load(menuxml);
};

// XML-Laden und anschliessend Hauptmenü ausführen
menu_xml = new XML();
menu_xml.ignoreWhite = true;
menu_xml.onLoad = function(status){	
	if (status){
		CreateMainMenu(-30, 350, 0, this);
		ausgabe_txt.text = "Daten geladen...";		
	}else{
		ausgabe_txt.text = "Fehler:  Daten konnten nicht geladen werden!";
	}
};
// Erstes Menü laden
menu_xml.load("menu1.xml");
 
Du erwartest hoffentlich nicht, dass irgendjemand das alles liest? Reduzier den Code mal auf die problemrelevanten Teile, bitte :)
 
Zurück