Zweites Submenü öffnet sich nicht

skaterjordan

Mitglied
Hallo,

in der angehängten Datei befindet sich ein Navigationsmenü.
Ich wollte es so abändern, dass ein zweites Untermenü öffnet.

Code:
var buttons = new Array(btn_ec_jungschar, btn_ueber_uns, btn_jungschar, btn_hauskreis, btn_kontakt);
// Beschriftungen:
var captions = new Array("EC-Jungschar", "über uns", "JUNGSCHAR", "HAUSKREIS", "Kontakt");
// Submenues für die Buttons:
var canopen = new Array(false, false, submenue1, submenue2, false);
var open_but = -1;
var offset = 50; // Abstand beim Herunterfahren

for (var i=0; i<buttons.length; i++) {
	buttons[i]._caption = captions[i];
	buttons[i].idx = i;
	buttons[i].base_y = buttons[i]._y;
	// Linke obere Ecke des Buttons für Submenü-Position speichern:
		buttons[i].lx = buttons[i]._x;
		buttons[i].ly = buttons[i]._y;
	// Submenü dem Button zuweisen:
	if (canopen[i] != false) buttons[i].submenue = canopen[i];
}

function pressed(obj) {
//	trace(obj._caption + " gedrückt");
	if (open_but != obj.idx && canopen[obj.idx]) {
		// Offset festlegen, abhängig von Höhe des Submenüs:
			if (obj.submenue != undefined) {
				offset = obj.submenue._height - 1;
			}
		doExplode(obj.idx);
		open_but = obj.idx;
	} else {
		doExplode(buttons.length + 1);
		open_but = -1;
	}
}

function doExplode(n) {
	for (var i=0; i<=n; i++) {
		buttons[i].dy = buttons[i].base_y;
		// Submenue verbergen:
			if (i != n) buttons[i].submenue.doHide();
	}
	for (var i=n + 1; i<buttons.length; i++) {
		buttons[i].dy = buttons[i].base_y + offset;
		// Submenue verbergen:
			buttons[i].submenue.doHide();
	}
	for (var i=0; i<buttons.length; i++) {
		buttons[i].isfin = false;
	}
	this.onEnterFrame = function() {
		var fin = 0;
		for (var i=0; i<buttons.length; i++) {
			buttons[i]._y += (buttons[i].dy - buttons[i]._y) / 4; // diese Zahl ändern für Geschwindigkeit
			if (Math.abs(buttons[i].dy - buttons[i]._y) < 1) {
				buttons[i].isfin = true;
			}
			fin += (buttons[i].isfin)? 1 : 0;
		}
		if (fin >= buttons.length) {
			for (var i=0; i<buttons.length; i++) {
				buttons[i]._y = buttons[i].dy;
			}
			// Submenue positionieren:
				buttons[n].submenue._x = buttons[n].lx + 25;
				buttons[n].submenue._y = buttons[n].ly + buttons[n]._height + -3;
			// Submenue anzeigen:
				buttons[n].submenue.go();
			delete this.onEnterFrame;
		}
	}
				
}

Ich habe einen zweiten MovieClip erstellt und habe im Code angegeben, dass er sich bei Button 4 öffnen soll. Tut er aber nicht. Der Movieclip ist richtig benannt.
Mache ich aber bei einem anderen Button eine 1 aus der 2, öffnet es sich sofort.
Wi liegt der Fehler mit dem zweiten Submenü?

Die angehängte Datei ist das komplette Navi-Menü.

Hat jemand eine Idee? Ich komm nämlich einfach nicht weiter woran es liegen könnte.

Vielen Dank im Voraus
 
Zuletzt bearbeitet:
Hi,

das Script kommt mir seltsam bekannt vor ... ^^

Zum Problem: Du hast vergessen, dem zweiten Submenue auch den Instanznamen "submenue2" zu geben.

Der Instanzname (nicht zu verwechseln mit dem Objektbezeichner in der Bibliothek) ist ein eindeutiger Name für jede Kopie eines MovieClips. Markiere das zweite Menü auf der Bühne und gib in den Eigenschaften unten links unter "<Instanzname>" den richtigen Bezeichner ein.

Gruß
.
 

Neue Beiträge

Zurück