Eine Variable von einer Funktion an eine andere übergeben

pride

Grünschnabel
Einen Parameter von einer Funktion an eine andere übergeben

Hallo,

Ich habe folgende Javascriptfunktionen:
Code:
<script type="text/javascript">
var battery = null;

function engine(id)
{
battery = document.getElementById(id);
battery.style.display = (battery.style.display == "block")? "block" : "block";
setTimeout('refresher(id)', <?php echo $_SESSION["tappingspeed"]; ?>);
}

function refresher(id)
{
battery = document.getElementById(id);
battery.style.display = (battery.style.display == "none")? "none" : "none";
if(point == "kc_r1")
{
alert("test");
}
}
</script>

Wie Ihr seht, rufe ich innerhalb der engine Funktion eine andere Funktion namens refresher auf. Beim aufruf der engine Funktion wird die ID des zu behandelnden Elements mitgegeben, meine Frage ist jetzt wie ich diese ID an die refresherfunktion weitergeben kann. So wie es hier steht funktioniert es leider nicht.

... oder habe ich mal wieder einen völlig falschen Ansatz erwischt ?

THX, Pride
 
Zuletzt bearbeitet:
Re: Einen Parameter von einer Funktion an eine andere übergeben

Das Problem ist, das die Funktion verzögert aufgerufen wird... zu diesem Zeitpunkt wurde die ursprüngliche Funktion verlassen, und id ist nicht mehr bekannt.

Das, was als Anweisung in setTimeout() geschrieben wird, muss jederzeit per eval() ausführbar sein.

Bei 'refresher(id)' ist dies nicht der Fall, dafür jedoch bei
Code:
'refresher("'+id+'")'

Es wird dir leichter fallen, das zu verstehen, wenn du dir vorstellst, wie du den Funktionsaufruf ohne Variablen schreiben würdest.... diese Zeichenkette musst du innerhalb setTimeout() erzeugen.
 

Neue Beiträge

Zurück