Problem mit setTimeout() ...
sprain
- javascript
0 Roman Pfarrhofer0 Joachim0 Thomas Mell
0 Joachim
Hallo zusammen ...
Ich habe ein Problem mit setTimeout(). Ich möchte, dass die Funktion losch() erst nach einer halben Sekunde aufgerufen wird. Nur funktioniert das nicht, der Browser meldet immer, nr sei nicht definiert. Was mache ich falsch ??
Wenn ich losch(nr) direkt aufrufe, ohne über hide(nr) einen Umweg zu machen, funktionierts einwandfrei.
Übrigens nr ist einfach eine Zahl, zB. 1 ...
function hide(nr)
{
window.setTimeout("losch(nr)",500);
}
losch(nr)
{
var m=("menu"+nr);
document.all(m).style.visibility="hidden";
}
Danke
sprain
Hi Thomas!
window.setTimeout("losch(nr)",500);
Der fehlter ist im "loschen(nr)" ... du übergibst ihm das ganze als string und er kommt daher nicht auf die idee das nr durch den übergebenen wert zu ersetzen
schreibe mal:
window.setTimeout(eval("losch("+nr+")"),500);
das müßte gehen - habe ich aber jetzt nicht getestet
CU der vom weihnachtseinkauf fix&fertige
Roman
hi roman,
window.setTimeout(eval("losch("+nr+")"),500);
^^^^^^^^^^^^^^^^
vielleicht lieber ' " " ' so?
Ja die Weihnachtseinkaeufe, City am Samstag ist echt was fuer Masochisten ;-)
Beileid & Gruesse Joachim
Hi Roman,
das kann man auch ohne eval schreiben.
window.setTimeout('losch('+nr+')',500);
Grüße
Thomas
hi,
function hide(nr)
{
window.setTimeout("losch(nr)",500);
}
losch(nr)
^^^^^^^^^^^^^^^^^
da fehlt "function", nur ein copy-Fehler?
{
var m=("menu"+nr);
document.all(m).style.visibility="hidden";
}
bei mir geht es ueber einen kleinen Umweg, ich definiere x=nr:
function hide(nr)
{
x=nr;
window.setTimeout("losch(x)",500);
}
function losch(nr)
{
document.all["ebene"+nr].style.visibility="hidden";
}
Der DIV hat bei mir die ID="ebene0", uebergeben wird 0.
Das Script ist reine IE-Syntax, aber ich nehme an, Du testest erst einmal IE-only?
Gruss Joachim