[JavaScript] setTimeout

dimitrif

Lt. Junior Grade
Dabei seit
Juli 2004
Beiträge
394
Hallo,

eine Frage:

Ich möchte mit der Funktion - setTimeout("functionname()",500) auf funktionname einen Wert übergeben. Ich habe verucht mit setTimeout("functionname(wert)",500), aber es funktioniert nicht.


Wie kann ich es realisieren?

Danke
 
AW: setTimeout

Welche Programmiersprache?
Poste mal den Code und/oder beschreibe was du vorhast ein wenig genauer.
David
 
AW: setTimeout

Entschuldigung, ich habe JavaScript gemeint.

mit onmouseout wird eine Funktion aufgerufen, dabei wird an diese Funktion ein Wert übergeben - der wird ausgewertet und je nach dem entweder sofort zur Antwort oder mit der Verzögerung setTimeout zu einer anderen Funktion geschickt.

Im Gründe genommen könnte man es auch in einer Funktion verarbeiten, aber ich weiß nicht, wie ich Ausführung bremsen kann sodass eine gewisse Zeit überhaupt nichts ausgeführt wird, deswegen habe ich meinen Code geteilt auf zwei Funktionen.
 
setTimeout() evaluiert den ersten Parameter, d.h. Du mußt einen Ausdruck erstellen, der mittels eval() aufrufbar ist. Bei Deinem o.g. Beispiel wird

functionname(wert);

ausgeführt, d.h. zur Laufzeit muß eine Variable namens wert im entsprechenden Scope exisiteren:

var wert = 'hallo!';
setTimeout("functionname(wert)", 500);

Das gleiche würdest Du mit

var wert = 'hallo!';
setTimeout("functionname('" + wert + "')", 500);

erreichen mit dem Unterschied, daß sich Änderungen wert nicht auf den Aufruf von functionname() auswirken würden:

var wert = 'hallo!';
setTimeout("functionname(wert)", 500);
setTimeout("functionname('" + wert + "')", 600);
wert = 'bye!';

Soll der Parameter für functionname() hartkodiert werden, reicht

setTimeout("functionname('hallo!')", 500);
 
Zuletzt bearbeitet:
Vielen Dank!

Ich bin mir iimer nicht so sicher, wann ist (')-Zeichen und (")-Zeichen zu gebrauchen. Also, Sie haben mir geholfen.
 
Bei JavaScript gibt es keine Unterschiede zw. single quotes (') und double quotes ("), Du kannst beide also nach Gusto bzw. Bedarf einsetzen.

greetings, Keita
 
Zurück
Top