Habe ein Problem mit einer Funktion

veil123

Grünschnabel
Hallo,

weiss jemand von euch was an diesem Javascript falsch ist. Es läuft nur in Opera, aber nicht im IE oder FF.

HTML:
<a id="B" onClick="this.style.border='#000000 1pt solid', N.style.border='', 
      S.style.border=''"; 
      class="bildlink" href="#"><img src="Bilder/b.png" border="0" usemap="#hh" /></a>

<a id="N" onClick="this.style.border='#000000 1pt solid', B.style.border='', 
      S.style.border=''"; 
      class="bildlink" href="#"><img src="Bilder/n.png" border="0" usemap="#hh" /></a>

<a id="S" onClick="this.style.border='#000000 1pt solid', N.style.border='', 
      B.style.border=''"; 
      class="bildlink" href="#"><img src="Bilder/s.png" border="0" usemap="#hh" /></a>

Oder muss man das mit einer Funktion machen. Wie müsste ich das dann machen ?
Ich habe leider gar keine Ahnung von Javascript.
 
Hi,

zum einen hast du die getElementById()-Methode vergessen, um die Elemente über ihren ID-Bezeichner anzusprechen, und zum anderen werden mehrere Funktionen in einem Event-Handler nicht durch Kommas, sondern durch Semikolons voneinander getrennt.

HTML:
<a id="B" onclick="this.style.border='#000000 1pt solid'; getElementById('N').style.border=''; getElementById('S').style.border='';" class="bildlink" href="#"><img src="Bilder/b.png" border="0" usemap="#hh" /></a>

<a id="N" onclick="this.style.border='#000000 1pt solid'; getElementById('B').style.border=''; getElementById('S').style.border='';" class="bildlink" href="#"><img src="Bilder/n.png" border="0" usemap="#hh" /></a>

<a id="S" onclick="this.style.border='#000000 1pt solid'; getElementById('N').style.border=''; getElementById('B').style.border='';" class="bildlink" href="#"><img src="Bilder/s.png" border="0" usemap="#hh" /></a>


mfg Maik
 
Danke, jetzt klappt es.
Der Rahmen wird im IE leider schief dargesetellt, es ist rechts und unten 1px "Luft"
Liegt das am Javascript ?


Ich habe jetzt nur noch ein problem mit dem onload
HTML:
<body onload="getElementById('B').style.border='#000000 1pt solid';">
So müsste das doch gehen oder. Leider macht er es aber nicht.
 
Danke, jetzt klappt es.
Der Rahmen wird im IE leider schief dargesetellt, es ist rechts und unten 1px "Luft"
Liegt das am Javascript ?
:)

CSS:
a, a img { float:left; }
a img { border:0; }

Ich habe jetzt nur noch ein problem mit dem onload
HTML:
<body onload="getElementById('B').style.border='#000000 1pt solid';">
So müsste das doch gehen oder. Leider macht er es aber nicht.
"Seine" JS-Fehlermeldung ist doch aussagekräftig.

Fehler: getElementById is not defined


HTML:
<body onload="document.getElementById('B').style.border='#000000 1pt solid';">


mfg Maik
 
Super, onload klappt jetzt auch.

Die Luft rechts und unter dem Bild ist aber auch mit deinen CSS Anweisungen noch da. Das ist auch nur im IE.
Zienlich komisch.
 
Die Luft rechts und unter dem Bild ist aber auch mit deinen CSS Anweisungen noch da. Das ist auch nur im IE.
Zienlich komisch.
Ziemlich wahrscheinlich, dass du deine HTML-Seite ohne oder mit einer falschen Doctype-Deklaration den Browsern im "Quirks Mode" übergibst.

Im standardkonformen Modus (Almost Standards Mode) kann ich bei mir in der IE-Familie keine Luft / keinen Abstand zwischen Bild und Rahmen registrieren.

mfg Maik
 
Zurück