Brauche Funktion
Matze
- css
0 rob0 Matze0 small-step0 rob0 Ingo Turski
0 MudGuard
Hallo!
Ich brauche eine Funktion(JS), die folgendes beschreibt:
(Diese Funktion ist rein trivial, nur um das Problem klarzumachen!!!)
function aendere()
{
if(Bild == visible)
{
Bild = hidden
}
else
{
Bild = visible}
}
}
Diese Funktion will ich dann in diesen Button einbinden:
<input type="button" onClick="aendere()">
Somit wird also das Bild mit einem Klick sichtbar, mit noch einem Klick wieder unsichtbar usw.
Der stylesheet für das Bild sieht so aus:
#bild {position: absolute;
left: 12;
top: 17;
visibility: hidden;}
Der Wert für visible soll also mit einer Funktion geändert werden. Kann mir jemand eine sloche Funktion angeben??
Danke im Voraus
Matze
Der Wert für visible soll also mit einer Funktion geändert werden. Kann mir jemand eine sloche Funktion angeben??
hmm. Das hast Du ja schon fast selber geschrieben...
function aendere()
{
if(Bild == visible)
{
Bild = hidden
}
else
{
Bild = visible}
}
}
Also ich würde das jetzt mal so versuchen:
function aendere()
{
if ( document.getElementsById(bild).style.visibility = 'hidden' )
{
document.getElementsById(bild).style.visibility = 'visible';
}
else
{
document.getElementsById(bild).style.visibility = 'hidden';
}
}
Ich habe das jetzt nicht getestet, schätze aber, daß es so funktioniert, d.h. so sollte es in neueren Browser funzen (ab IE 5 / Netscape 6 / Mozilla). Für ältere Browser müßtest Du das nochmal extra schreiben, d.h. alter IE: document.all und alter Netscape mit document.layers
Funzt irgendwie nicht. Ich hab aber IE 5. Mit all hab ichs auch probiert geht aber auch nicht. Ist all nicht nur zum ändern von HTML-Tags gut? Ich weiss nicht, ob man das auch auf stylesheets anwenden kann.
Matze
Hi,
if ( document.getElementsById(bild).style.visibility = 'hidden' )
müsste das nicht
if ( document.getElementsById(bild).style.visibility == 'hidden' )
heißen?
Gruß,
small-step
oh, ja... Das muß es natürlich. Ich hatte die Zeile geschrieben und danach noch die if-Abfrage drum gesetzt und den Code da reinkopiert..
Aber klar: Es muß im if-Teil == statt = heißen. Es soll ein Vergleich sein und keine Zuweisung. mea culpa.
Hi,
müsste das nicht
if ( document.getElementsById(bild).style.visibility == 'hidden' )
heißen?
schon besser aber immer noch verkehrt - IDs sind einmalig und werden daher im Javascript auch in Einzahl angesprochen. ;-)
freundliche Grüße
Ingo
Hi,
schon besser aber immer noch verkehrt - IDs sind einmalig und werden daher im Javascript auch in Einzahl angesprochen. ;-)
verzeih mir bitte!
Ich mag kein JavaScript :-)
Gruß,
small-step
Hi,
left: 12;
top: 17;
left und top erwarten einen Length-Wert.
Eine Zahl ohne Längeneinheit ist kein Length-Wert.
Korrekte Browser ignorieren korrekterweise solche fehlerhaften Werte.
visibility: hidden;}
Der Wert für visible soll also mit einer Funktion geändert werden. Kann mir jemand eine sloche Funktion angeben??
Hat rob schon getan.
cu,
Andreas