Javascript: Verzögerung von 2 Sek. einbauen ?



  • Hallo,

    Kann man in Javscript so eine kleine Verzögerung einbauen ?
    es soll nur 1-2 Sek. gewartet werden bis dann ein Ereignis passiert.

    Ich bräuchte etwas wie in c++ das Sleep(2000); ...?

    Wüsste jemand was...

    Danke
    Ceelo



  • Soweit ich mich erinnere kannst du eine Verzögerung mit setTimeout(MILLI_SEKUNDEN) erreichen.

    (Beispiel ungetestet).

    <script language="JavaScript">
    <!--
    document.write("In 5 Sekunden passiert was\n");
    setTimeout("alert('5 Sekunden sind um und das Event ist eingetreten')", 5000);
    -->
    </script>
    

    Caipi



  • Hmm, danke. Aber ich meinte eher sowas in etwa..

    setTimeout(3000); /* Nach 3 sek. soll geschrieben werden
    document.write("Bla Bla...");
    

    Dann habe ich es so getestet, klappt aber net...

    if(setTimeout("", 3000))
    {
       //....
    }
    

    Was kann ich tun?

    Danke
    Ceelo



  • Also ich würd ne Funktion schreiben, die das eben für die schreibt, dann kannste eben anstatt alert, deine Funktion benutzen... z.B. so:

    <script language="JavaScript">
    function WriteText(var text)
    {
        document.write(text);
    }
    function Event()
    {
        setTimeout("WriteText('Willkommen auf meine Homepage')", 1000);
        setTimeout("WriteText('Ich w&uuml;nsche ihnen viel Gl&uuml;ck beim Surfen :D !')", 1000);
    }
    </script>
    

    Ich weis, is sinnlos, aber is doch nen Ansatz (ich kenn mich mit JS nich aus...).

    //edit:
    Gemeint war eigentlich keine Schreibfunktion, aber das kann man ja verwenden, wie man will... auf alle Fälle würde es funktionieren...
    edit//

    cya WirrWar2850.



  • Super Idee, doch es ist bei mir ein bisschen komisch. Er wartet nicht
    5 sek. bis er die gewünschte Funktion aufrufen soll...?

    Mein Code

    function hide(x)
    {
    	//..............
    }
    
    function hide2(x)
    {
    	setTimeout(hide_layer(x), 5000);
    }
    

    Mach ich was falsch..?

    Danke
    Ceelo



  • Ich nochmal:

    Die Funktion setTimeout("aktion", MILLI_SEKUNDEN); führt die Aktion nach MILLI_SEKUNDEN aus. Sorry, aber das musste ich nochmal wiederholen, da ich das in meinem vorigen Post (den ich jetzt nicht mehr editieren kann) falsch gesagt habe.

    Zu deinem Problem: Du musst die aktion in Gänsefüßchen setzen! (Keine Ahnung, warum die Entwickler den Funktionskopf so implementiert haben, ist halt so...)

    Caipi



  • Danke Caipi und der Rest. Jetzt geht's...

    Schönes Wochenende noch..
    Ceelo


  • Mod

    Caipi schrieb:

    Keine Ahnung, warum die Entwickler den Funktionskopf so implementiert haben, ist halt so...

    weil sonst

    setTimeout(a=1,b=2, 5000);

    ein bisschen bloed zu parsen waere 😉



  • gibt es in JS nicht keine funktion wie sleep() oder sowas?

    also ein timeount welches keine weiteren argumente braucht, als die verzögerungszeit...


  • Mod

    -=rand=- schrieb:

    gibt es in JS nicht keine funktion wie sleep() oder sowas?

    also ein timeount welches keine weiteren argumente braucht, als die verzögerungszeit...

    was stoert dich an settimeout?

    js ist eben event gesteuert, da passt das settimeout ziemlich gut rein...


Anmelden zum Antworten