Javascript Frage
Gräflicher 22.06.2005 - 13:59 648 12
Gräflicher
Here to stay
|
Hey! Hätte da eine Frage, vielleicht kann ja wer helfen. Es geht um folgende Seite: http://www.nettek.at/angebote.htmlDas Javascript, welches für die Popups verantwortlich ist funktioniert zwar, doch lässt es im IE eine Fehlermeldung in der Statusleiste aufscheinen. Zeile: 41 Zeichen: 3 Objekt erforderlich Da ich im JS totaler Anfänger bin versteh ich das nicht ganz...deshalb hab ich es auch so simpel wie möglich gehalten. Er versteckt alle Layer und soll nur den anzeigen der gerade durchs Mouseover aktiviert wird. Was tun? Vielen Dank, mfg
|
murcielago
Dr. Doom
|
beim getElementById(popname) die hochkomma nicht vergessen: getElementById('popname');
|
COLOSSUS
AdministratorGNUltra
|
|
Gräflicher
Here to stay
|
beim getElementById(popname) die hochkomma nicht vergessen:
getElementById('popname');
thx, aber leider, mit Hochkomma geht es gar nicht...popname ist die Variable mit dem Namen des Popups, welche er eben anzeigen soll. Die Namen der Popups sind dann "popee", "popez", "poped", "popev", "popef" Zunächst soll ers alle verstecken und dann eben nur des eine anzeigen auf das gerade mit "Popname" zurückgegeben wird. Also alle weg, nur das eine nicht. Würde sicher auch eleganter gehn, aber wie man sieht, ich schaffs ja nicht mal so hinzubiegen
|
Gräflicher
Here to stay
|
|
watchout
Legendundead
|
Der Fehler kommt beim "onmouseout", weil du da dann versuchst ein elements mit der id "" zu finden, welches aber natürlich nicht existiert, und da ein nicht existentes Element (NULL) auch keine Attribute haben kann kommt der Fehler, zu lösen einfach dadurch: if(document.getElementById(popname))
{
document.getElementById(popname).style.display='block';
}
hth PS: Bei sowas ists oft angenehmer einen kleinen Delay einzubauen, das verbessert die lesbarkeit - aus dem Grund mag ich auch keine CSS-Lösungen in dem Bereich weil sich dabei sowas nicht realisieren lässt.
|
Ezekiel
OC Addicted
|
|
Gräflicher
Here to stay
|
Der Fehler kommt beim "onmouseout", weil du da dann versuchst ein elements mit der id "" zu finden, welches aber natürlich nicht existiert, und da ein nicht existentes Element (NULL) auch keine Attribute haben kann kommt der Fehler, zu lösen einfach dadurch:
if(document.getElementById(popname))
{
document.getElementById(popname).style.display='block';
}
hth
PS: Bei sowas ists oft angenehmer einen kleinen Delay einzubauen, das verbessert die lesbarkeit - aus dem Grund mag ich auch keine CSS-Lösungen in dem Bereich weil sich dabei sowas nicht realisieren lässt. Dankesehr, jetzt funktionierts Hab mir auch das andere angesehen. Sicher eleganter, hatte dann aber doch ein paar Probleme damit. Vielleicht wenn ich mal mehr Zeit hab Nochmals Danke für die prompte Hilfe, mfg
|
tomstig
OC Addicted
|
funktioniert leider im ie nicht Jo Programmiertechnisch Ich frag mich, obs amal einen Standard für JS & CSS damit man nicht für jeden Browser anders programmieren muss...
|
ica
hmm
|
es gibt für css & co standards, bringt aber wenig wenn sich die browserhersteller nicht daran halten.
|
watchout
Legendundead
|
Jo Programmiertechnisch Ich frag mich, obs amal einen Standard für JS & CSS damit man nicht für jeden Browser anders programmieren muss... Ne gibts nicht - die machen das nur so zum Spass! http://www.w3.org/Style/CSS/
|
tomstig
OC Addicted
|
Ne gibts nicht - die machen das nur so zum Spass! http://www.w3.org/Style/CSS/ trotzdem definiert jeder browser css etwas anders... wieso glaubst du geht das vorige beispiel im ff aber nicht im ie???
|
watchout
Legendundead
|
weil ff CSS2 unterstützt und IE nicht.
|