window.setTimeout() will nich funktionieren
Der_Da
- javascript
Hi, Leute
Ich hab nen kleines Problem mit JS ich will das die funktion sl nach 1/2 Sekunde mit ein paar Variablen aufgerufen wird für den fall benutzte ich logischer weise window.setTimeout
ABER
es funktioniert einfach nicht und ich bin mir sicher das es an diesem Befehl hier liegt denn wenn ich nur die Funktion ohne setTimeout aufrufe läufts.
Wo liegt der fehler ?
window.setTimeout('sl(gesamt,factor1,factor2)',500);
Hallö,
probiere mal window.setTimeout('sl(' + gesamt + ',' + factor1 + ',' + factor2 + ')',500);
viele Grüße
Thomas
probiere mal window.setTimeout('sl(' + gesamt + ',' + factor1 + ',' + factor2 + ')',500);
Daran hatte ich auch schon gedacht funktioniert aber auch nicht.
gibt es noch irgendein anderen befehl mit dem man den script dazu bringt das er wartet ? (sowas wie delay())
hi,
was ist denn dieses ominöse "sl" innerhalb deiner Funktion - vielleicht haste da was verkehrt?
Christoph S
Hallo,
dann poste doch einfach mal den kompletten Code, damit machst Du Dir und uns das Leben leichter ;-)
Geht nicht ist keine Aussage. Kommt eine Fehlermeldung ?
Wurde das Aufrufen von setTimeout überhaupt ausgeführt ?
MM_dummy=setTimeout("alert('eine Zeitabfrage')",1000);
die Varibalenübergabe teste nach dem gleichen Prinzip, statt sl alert einsetzen.
so, oder Du mailst mir den Code nachm Fussballspiel *g*
Ciao
Michael
Hallo,
dann poste doch einfach mal den kompletten Code, damit machst Du Dir und uns das Leben leichter ;-)
Michael
Du hast recht aber statt euch das zu Posten geb ich euch ne URl
http://mitglied.lycos.de/hermannguensti/Others/ROT/index.html
Das soll mal nen Online adventure werden und dieser script (frame oben rechts) soll die bewegung auf der karte zeigen.
D.h.man clickt irgenwo hin und mein script zieht eine Liene bis dahin. Dann clickt man auf auf das zielbildchen und dann soll mein script die bewegung nachstellen und dazu brauch ich das settimeout (damit das auch langsam genug abläuft).
Komisch bei mir war das irgendwie anders als auf dem server, denn jetzt funktioniert scheinbar das settimeout aber irgendetwas anderes nicht weil er jetzt immer das Bild oben in die ecke setzt.
Hi!
probiere mal window.setTimeout('sl(' + gesamt + ',' + factor1 + ',' + factor2 + ')',500);
Das klappt aber nur, wenn die drei Variablen nur Zahlen enthalten. Enthalten sie aber Zeichenketten, muss man diese ordentlich in Quotes stecken:
window.setTimeout('sl("' + gesamt + '", "' + factor1 + '", "' + factor2 + '")', 500);
Enthalten sie ganz was anderes (irgendwelche Objekte), hat man auf diese Weise gar keine Chance. Ich glaube, dann kommt man nur mit globalen Variablen weiter, was natuerlich fuer die Uebersicht gar nicht gut ist.
So long
--
Discovering the usefulness of the "command.com" shell on Windows 9x is left as an exercise to the reader :)
-- from Perl's README.win32 file
Hallo Duda, :-))
window.setTimeout('sl(gesamt,factor1,factor2)',500);
so sollte das eigentlich gehen:
t1= setTimeout('funktion(' + param1 + ',' + param2 + ')', milliSec);
Vergiss aber nicht, die Funktion wieder aus der Timeoutliste herauszunemen, sonst wird sie ständig aufgerufen.
Gruß
Tom
Hallo,
Du solltest die Variablen global definieren, da mit setTimeout ein neuer Task eröffnet wird.
window.setTimeout('sl('+gesamt+','+factor1+','+factor2+')',500) wäre zwar auch möglich, kann aber u.U. zu einem not-enough-Memory-Fehler führen. Geschickt wäre es hier mit vordefenierten Arrays zu arbeiten.
Ohne den kompletten Code Deines scripts sind dies aber nur Ansätze.
Gruss und viel Erfolg ;-)
Michael