Einfache Function
MikeS
- javascript
0 Encoder0 MikeS0 Matthias Apsel0 MikeS
2 MudGuard
Hallo Leute,
ich habe ne einfache Funktion aber ich bekomme es nicht hin eine Variable mit zu übergeben. Hier die Syntax.
function on (ID) {
document.getElementById("ID").style.visibility = "visible";
}
function off (ID) {
document.getElementById("ID").style.visibility = "hidden";
}
<div id="Filmo_2012_dieflut" style="visibility: hidden">
On or OFF
</div>
<a href="index"
onmouseover="on(Filmo_2012_dieflut)"
onmouseout="off(Filmo_2012_dieflut)">
Button
</a>
Alles Funktioniert wenn ich in der Function direkt die ID eintrage aber nicht wenn ich sie übergeben will.
Kann mir einer sagen wo das Problem liegt?
Du willst den Inhalt der Variable namens ID als Parameter von getElementById haben.
Was du gerade machst, du übergibst den Wert "ID".
Lass die " weg.
Ja so hatte ich es am Anfang auch, funktionierte aber auch nicht. Bekomme bei beiden Varianten folgenden Fehler:
"cannot read property 'style' of null".
Om nah hoo pez nyeetz, MikeS!
Ich empfehle grundsätzlich, keine inline-style-Angaben zu verwenden. Du solltest die Sichtbarkeit über eine Klassenzugehörigkeit steuern. Diese könnte vielleicht "zeige_details" bzw. "verberge_details" heißen.
<div id="Ein bestimmter Film" class="verberge_details">...</div>
Für ein korrektes Funktionieren musst du aber folgendes schreiben: onmouseover="on('Filmo_2012_dieflut')" denn schließlich soll deine Funktion erst das entsprechende Element finden.
Deine Vorgehensweise zeigt großes Verbesserungspotenzial. Angefangen beim Reduzieren der Anzahl der Funktionen, beim Entsorgen der Eventhandler aus dem Quelltext http://molily.de/js/ (Abschnitt 9) Möglicherweise lässt sich auch komplett auf Javascript verzichten.
Matthias
Danke das hat geholfen, und ich werde mir deine Anmerkungen zu Herzen nehmen.
Hi,
onmouseover="on(Filmo\_2012\_dieflut)"
Wo wird die Variable Filmo_2012_dieflut definiert, die Du hier übergibst?
Oder willst Du eher den String "Filmo_2012_dieflut" übergeben?
cu,
Andreas