Avatar billede frank_jensen Nybegynder
25. august 2003 - 09:19 Der er 12 kommentarer og
1 løsning

Timer i Javascript (Inkl. visning af tilbageværende tid)

Jeg har en funktion, jeg kalder, som gerne skulle starte et lille 'ur' et sted på skærmen, hvor der bliver lavet en nedtælling, der skal vare 30 sekunder, og herefter kalde en ny funktion.

Forslag til hvordan en sådanne funktion kunne se ud?
Avatar billede nmh Nybegynder
25. august 2003 - 09:27 #1
SetTimeOut funktionen skulle kunne bruges til at gøre det, du ønsker.
Avatar billede frank_jensen Nybegynder
25. august 2003 - 09:29 #2
Har du en beskrivelse af funktionen?

og den viser vel ikke en timer på skærmen?
Avatar billede nmh Nybegynder
25. august 2003 - 09:30 #3
Du sætter SetTimeOut til at kalde en procedure hvert sekund.
Den tæller sekunder og skriver dem ud i et inputfelt.
Når de 30 sek nås sørger du så for at stoppe processen og kalde den funktion, du så vil have aktiveret.
Avatar billede frank_jensen Nybegynder
25. august 2003 - 09:31 #4
og nu er jeg så doven, har du et script? ;o) (Så kan du evt. få 30 point mere...)
Avatar billede nmh Nybegynder
25. august 2003 - 09:33 #5
SetTimeOPut("funktionsnavn", antal milisek)
Avatar billede nmh Nybegynder
25. august 2003 - 09:34 #6
jeg er nødt til at gå ud af døren nu, men jeg kan nok lave noget i løbet af formiddagen.
Er det OK, hvis det bliver i VBscript i stedet?
Avatar billede frank_jensen Nybegynder
25. august 2003 - 09:39 #7
Desværre, ren javascript.

Men jeg tror, at jeg kigger på det. Det kan faktisk ikke være så svært.
Tak for hjælpen
Avatar billede nmh Nybegynder
25. august 2003 - 09:40 #8
ok, hvis jeg får tid laver jeg et Javascript til dig.
Så får vi se, hvem der kommer først.
Avatar billede nmh Nybegynder
25. august 2003 - 09:40 #9
Jeg takker for point, men skal nok komme med noget.
Avatar billede mm12010 Nybegynder
25. august 2003 - 09:47 #10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>392088</title>
<script language="JavaScript" type="text/javascript">
<!--
secs = 31;
function setClock(){
    secs--;
    if(secs>0){
        document.getElementById('clock').innerText = secs;
        }
    else{
        document.getElementById('clock').innerText = secs;
        clearInterval(printClock);
        //andenFuktion();
        alert("nedtælling slut");
        }
    }
printClock = setInterval("setClock(secs)",1000);
//-->
</script>
</head>
<body>
<div align="center" id="clock"></div>
</body>
</html>
Avatar billede mm12010 Nybegynder
25. august 2003 - 09:48 #11
printClock = setInterval("setClock()",1000);
Avatar billede nmh Nybegynder
25. august 2003 - 10:07 #12
Her er en lille side i VBscript, som gør det ønskede. Hvis du er interesseret kan jeg lave den i Javascript.

<html>
<script language=VBscript>
option explicit
dim N
sub FFF
  MsgBox "Nu starter FFF"
end sub
sub count
  if N=30 then
    FFF
  else
    N=N+1
    counter.value=N
    SetTimeOut "count",1000
  end if
end sub
</script>
<body>
<input type=text name=counter size=5> <p>
<input type=button value="Start" onClick="count">
</body>
</html>
Avatar billede nmh Nybegynder
25. august 2003 - 11:17 #13
Her er det så omskrevet til Jscript:

<html>
<script>
var N=0
function FFF(){
  alert( "Nu starter FFF")
}
function count() {
if (N==3){
    FFF()
  }else{
    N=N+1;
    tmp=setTimeout("count()",1000)
    document.getElementById('counter').innerText = N
  }
}
</script>
<body>
<input type=button value=start onClick="count()"> <p>
<div id="counter"></div>
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester