document.all[0].style.visibility = "visible";
bweichel
- javascript
Hallo liebe Leser,
ich habe ein kleines Script, dass mit zwei Links versehen ist. Einmal "ein" und einmal "aus". Wenn ich auf "ein" klicke soll der Layer sichtbar werden und wenn ich auf "aus" klicke soll er wieder verschwinden.
Beim ersten Aufruf der Seite soll der Layer nicht angezeigt werden. Das Problem das ich dabei habe ist, das der Layer beim klicken auf den Link "ein" nicht angezeigt wird.
Ich benutze den IE 6. Deshalb hab ich auch "document.all" verwendet. Bitte, bitte hilft mir...
Hier mein Quelltext:
<HTML>
<HEAD>
<TITLE>Layer</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ein() {
document.all[0].style.visibility = "visible";
}
function aus() {
document.all[0].style.visibility = "hidden";
}
-->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="javascript:ein();">Ein</A> - <A HREF="javascript:aus();">Aus</A>
<DIV ID="mein_layer" STYLE="position:absolute; left:100px; top:125px; visibility:hidden;>
<TABLE BORDER="1" BGCOLOR="#CECECE">
<TR>
<TD>Hello World!</TD>
</TR>
</TABLE>
</DIV>
</BODY>
</HTML>
Danke für eure Hilfe!
Gruß Björn
Hi,
ein paar Syntax Fehler. Hab das script korrigiert:
<HTML>
<HEAD>
<TITLE>Layer</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ein() {
document.all.mein_layer.style.visibility = "visible";
}
function aus() {
document.all.mein_layer.style.visibility = "false";
}
-->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="javascript:ein();">Ein</A> - <A HREF="javascript:aus();">Aus</A>
<DIV ID="mein_layer" STYLE="position:absolute; left:100px; top:125px; visibility:hidden;>
<TABLE BORDER="1" BGCOLOR="#CECECE">
<TR>
<TD>Hello World!</TD>
</TR>
</TABLE>
</DIV>
</BODY>
</HTML>
Viele Grüsse
Nachtrag:
die zeile korrigieren:
function aus() {
document.all.mein_layer.style.visibility = "hidden";
}
da ist mir ein copy paste Fehler unterlaufen
Danke für deine Mühe. Es geht einwandfrei.
Gruß Björn
hallo Björn,
Danke für deine Mühe. Es geht einwandfrei.
Das tut es leider nicht. Mag sein, daß es im IE6 jetzt "funzt", aber das "Kernproblem" ist dieses "document.all" - dabei ist deine Gesamtkonstruktion bereits so angelegt, daß auch andere DOM-fähige Browser damit zurechtkommen könnten, die eben "document.all" nicht verstehen.
Du hast doch dein DIV, das du ein- bzw. ausblenden möchtest, bereits mit einer ID versehen (du hättest dafür gar kein DIV gebraucht, das geht auch "bloß" mit einer Tabelle). Also liegt es doch nahe, daß du anstelle von "document.all" viel besser "document.getElementById()" verwenden solltest. Dann hast du denselben Effekt nämlich auch in aktuellen Browsern wie mozilla 1.x/Netscape, Konqueror 3.1, Opera 7.x, die du _alle_ jetzt erstmal ausgeschlossen hast.
Grüße aus Berlin
Christoph S.