setTimeout - funktion
alfgar
- javascript
0 Ronny0 Thomas Meinike0 alfgar0 Antje Hofmann
Hallo,
hab eine Frage:
Wie kann ich in setTimeout("irgentwas()",zeit)
für "irgentwas()" - Parameter mit übergeben ?
z.B: setTimeout("irgentwas(i)",zeit)
Offensichtlich wird der Funktionsaufruf ja als String übergeben.
Scheint nicht zu gehen.
Bräuchte aber die Parameterwerte i.d. aufgerufenen Funktion.
Danke für die Hilfe im vorraus
Gruß
Alfgar
Hi,
z.B: setTimeout("irgentwas(i)",zeit)
setTimeout("irgentwas("+i+")",zeit)
sollte funktionieren.
Grüße,
Ronny
Hallo Ronny,
z.B: setTimeout("irgentwas(i)",zeit)
setTimeout("irgentwas("+i+")",zeit)
das ist Unsinn.
So wie es alfgar schrieb, war es schon in Ordnung. Nur kann man keine lokalen Variablen als Parameter übergeben, denn die sind ja beim Aufruf der Funktion nicht mehr gültig.
Grüße
Andreas
Hi,
Hallo Ronny,
z.B: setTimeout("irgentwas(i)",zeit)
setTimeout("irgentwas("+i+")",zeit)
das ist Unsinn.
Nein.
So wie es alfgar schrieb, war es schon in Ordnung. Nur kann man keine lokalen Variablen als Parameter übergeben, denn die sind ja beim Aufruf der Funktion nicht mehr gültig.
Stimmt, aber wenn Du bei http://selfhtml.teamone.de/javascript/objekte/window.htm#set_timeout weiter liest, dann wirst Du auf folgendes stoßen: "Eine Übergabe der Werte mittels Zeichenkettenverknüpfung ist jedoch jederzeit möglich."
Und, was schlage ich vor?
Grüße,
Ronny
Hallo Ronny,
Stimmt, aber wenn Du bei http://selfhtml.teamone.de/javascript/objekte/window.htm#set_timeout weiter liest, dann wirst Du auf folgendes stoßen: "Eine Übergabe der Werte mittels Zeichenkettenverknüpfung ist jedoch jederzeit möglich."
Und, was schlage ich vor?
Ok, Du hast recht. Da habe ich wohl zu kurz gedacht. Ich hatte nur daran gedacht, dass die Variable i übergeben werden und erst zur Laufzeit der Funktion "irgendwas" ausgewertet werden soll, und das funktioniert eben mit lokalen Variablen nicht. Dass man ja wie Du es schriebst auch den Wert der Variablen übergeben kann, habe ich nicht berücksichtigt.
Grüße
Andreas
Hallo,
Wie kann ich in setTimeout("irgentwas()",zeit)
für "irgentwas()" - Parameter mit übergeben ?
z.B: setTimeout("irgentwas(i)",zeit)
Offensichtlich wird der Funktionsaufruf ja als String übergeben.
Scheint nicht zu gehen.
Bräuchte aber die Parameterwerte i.d. aufgerufenen Funktion.
Probiere es so:
function irgendwas(param)
{
alert(param);
}
var zeit=3000,i="Hallo Welt!";
setTimeout(function(){irgendwas(i)},zeit);
MfG, Thomas
Probiere es so:
function irgendwas(param)
{
alert(param);
}var zeit=3000,i="Hallo Welt!";
setTimeout(function(){irgendwas(i)},zeit);MfG, Thomas
Hat funktioniert! Vielen Dank noch mal .
Gruß
alfgar
Hallo Thomas,
var zeit=3000,i="Hallo Welt!";
setTimeout(function(){irgendwas(i)},zeit);
:-) danke, das war die mir unbekannte Lösung, wie man den IE und gleichzeitig Mozilla dazu bewegen kann lokale Parameter ohne Stringverkettung weiterzugeben
Könntest du zu diesen Thema einen Tipps&Tricks-Beitrag verfassen?
Viele Grüße
Antje