Fehlermeldung trotz voller Funktionalität

visiondpc

Erfahrenes Mitglied
Hallo,

ich habe ein Skript, mit dem man verschiedene Divs ein- bzw. automatisch wieder ausblenden kann.
Im IE und FireFox funktioniert es problemlos, trotzdem erhalte ich eine Fehlermeldung.

Fehler: gallerymenu.openM("im22") is undefined

Worin genau der Fehler besteht kann ich jedoch nicht nachvollziehen.
Ich hoffe, dass mal wieder Jemand schlauer ist als ich und mir auf die Sprünge helfen kann.

Code:
var gallerymenu = {
	tmp:false,
	openM:function(i) {
		if(i!=gallerymenu.tmp) {
			if(gallerymenu.tmp) {
				gallerymenu.closeM();
			}
			gallerymenu.tmp = i;
			document.getElementById(i).style.display='block';
		}
	},
	closeM:function() {
		document.getElementById(gallerymenu.tmp).style.display='none';
		gallerymenu.tmp = false;
	}
};

Danke im Vorraus.
 
Moin,

ohne den Rest des Dokumentes zu sehen, kann man da nur schwer eine Diagnose stellen.
Es scheint zumindest, dass irgendetwas von der Funktion gallerymenu.openM() einen Rückgabewert erwartet, den es nicht bekommt(daher das 'undefined')
 
Ich steuer das ganze Ganze eigentlich nur über onclick-Ereignisse.

HTML:
<div class="g-img" onclick="gallerymenu.openM('im1)" style="background-image:url('images/img1.jpg');">
    <div class="g-menu" id="im1">
        Hier steht das Menu
    </div>
</div>
<div class="g-img" onclick="gallerymenu.openM('im2)" style="background-image:url('images/img2.jpg');">
    <div class="g-menu" id="im2">
        Hier steht das Menu
    </div>
</div>

Die inneren Divs sind Anfangs ausgeblendet. Klickt man auf eines der Äusseren soll halt das Inner auf Block gesetzt und somit das Menu angezeigt werden.
 
Mit diesem Code werden bei mir aber keine Fehlermeldungen erzeugt.

Hast du bitte mal ein Fragment parat, mit welchem sich der Fehler reproduzieren lässt?
 
Danke Dir, aber ich hab es gefunden.

Bei dem Ausschnitt der oben steht geht es bei mir auch. An einigen Stellen wurde jedoch ein älteres Template verwendet und da standen noch Reste aus dem alten JS drin.

HTML:
onclick="gallerymenu.openM('im22').style.display='block';"

Also kein Fehler sondern einfach nur meine Dummheit. :(
 

Neue Beiträge

Zurück