Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Auszeichnungssprachen » Parameter übergabe in JS Antworten
Parameter übergabe in JS

ldf
Pixelschubser


Beiträge: 7


Hi
Ich hab eine Funktion geschrieben die ein div nach einiger Zeit unsichtbar machen soll:

function unsichtbar(id) {
window.setTimeout("document.getElementById(id).style.visibility = 'hidden'",500);
}

im Body steht:
onMouseOut="unsichtbar('leuchten')"

Das Problem ist jetzt das der Parameter 'leuchten' nicht übergeben wird. Schreib ich getElementById('leuchten') anstatt getElementById(id) funktioniert die Funktion ohne weiteres.

Hat jemand eine Idee was ich da falsch mach?

vielen Dank


  Profil   E-Mail   Website   Editieren   Zitieren

chip
Quasselstrippe


Beiträge: 391


1: 
2: 
3:
function unsichtbar(id) {
window.setTimeout("document.getElementById("+id+").style.visibility = 'hidden'",500);
}


So sollte es funktionieren.

---

  Profil   Website   Editieren   Zitieren

Ori
Fachidiot


Beiträge: 116


Da fehlen leider Anführungszeichen...
1: 
2: 
3:
function unsichtbar(id) {
 window.setTimeout("document.getElementById('"+id+"').style.visibility = 'hidden';", 500);
}

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Die Erklärung - der übergebene Parameter von setTimeout wird im später beim Aufruf als Quellcode interpretiert. Dieser Aufruf erfolgt jedoch nicht mehr innerhalb deiner Funktion - daher ist "id" dann nicht mehr bekannt. Du kannst jedoch den Inhalt von "id" in deinen Quellcode-String einsetzen. Dann stehen zum Zeitpunkt des eigentlichen Aufrufes alle Informationen zu Verfügung.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben