Just nu i M3-nätverket
Gå till innehåll

Fördröjning


Admini

Rekommendera Poster

Hej

Hur kan jag få en javascript att dröja en viss tid inuti scriptet?

 

Har kollat på setTimeout, men då måste man ha en function framför.

 

Vill alltså fördröja nånstans inuti scriptet, från en rad till nästa

Länk till kommentar
Dela på andra webbplatser

-Patrik Johansson-

Hmm, jag tror inte det finns någon färdig funktion förutom setTimeOut().

 

Har ett förslag på hur du kan göra men det är ganska bökigt men du får det som du vill dvs att den fortsätter på nästa rad.

Skapa variablerna tid och datum och gör så här

var datum = new Date();
var tid = datum.getTime();

Då får variabeln tid antal millisekunder sedan 1970 eller något sådant.

Öka tid med det antal millisekunder du vill vänta.

Skapa sedan en whilelopp med vilkoret

date.getTime() < tid

Då kommer denna tomma loop att loopa ända tills den riktiga tiden är lika med eller större än variabeln tid.

Obs, är inte rikgti säker på koden men konceptet borde fungera.

 

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Länk till kommentar
Dela på andra webbplatser

Jag måste säga att jag inte förstår koden :(

 

använde den rakt upp o ner, men det funkar förstås inte :)

 

Länk till kommentar
Dela på andra webbplatser

-Patrik Johansson-

Det är inte särskilt konstigt då min kod var helt kass, har ändrat nu så detta borde fungera bättre:

var now = new Date();
var koll = 0;
while (koll != 1)
{
  var now2 = new Date();
  if (now2.getTime() >= (now.getTime()+5000))
  {
koll = 1;
  }		
} 

 

Jag ändrade lite namn också.

 

Nu fungerar koden så att först skapar du variabeln now först. Den innehåller massor av tid och datuminformation som var just när denna variabel skapades.

 

Sedan initierar jag variabeln koll som skall användas i loopen på så sätt att loopen kommer fortsätta tills variabeln koll = 1.

 

I whileloopen skapas en now2 som innehåller den aktuella tidsinfomationen just nu.

 

I ifsatsen finns now2.getTime() och now.getTime()+5000 där 5000 är fördröjningen i millisekunder dvs hur längde du vill att scriptet skall vänta innan det fortsätter till nästa rad.

 

Metoden getTime() retunerar antalet millisekunder från 1970.

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Länk till kommentar
Dela på andra webbplatser

Vad ger den för fördröjning nu?

5 sekunder?

 

Var kommer 1970 in i bilden(var initieras den?)

 

Jag får lite syntaxfel på andra ställen ...

 

 

[inlägget ändrat 2002-10-25 21:37:24 av Admini]

Länk till kommentar
Dela på andra webbplatser

-Patrik Johansson-

1970 är bara ett årtal som de har valt.

Det spelar ingenroll för ändamålet bara man startar från samma nollpunkt.

 

Nu är fördröjningen 5000 millisekunder dvs 5 sekunder så du bara byter ut 5000 måt det antal millisekunder du vill att den skall vänta.

 

Har du kopierat rakt av skall du inte få något fellmeddelande eller snarare så får inte jag något felmeddelande.

 

Hmm, undrar om det finns någon som är lite bättre på javascript som kan kontrollera koden ovan.

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...