Avatar billede tommyls Nybegynder
23. september 2002 - 16:41 Der er 11 kommentarer og
1 løsning

timer

Er det muligt at lave en timer som bliver activeret, og nulstillet alt efter om en variabel er true eller false?

Jeg har tænkt noget lignende:

function timer (testMe){
  if (test){
      startMinTimer();
  }
  if (startMinTimer == 10 sec){
      startEnandenFunktion();
  } 
}

Det er altså en tæller som tester hvornår der er gået f.eks 10 sec. Og så bliver der eksekveret en func.

T
Avatar billede bamzen Nybegynder
23. september 2002 - 16:46 #1
if(dinVariable=="DinTestvaerdi"){
setTimout('dinNyeFunktion()',10000) //tid angivet i milisekunder (1/1000 sekund)
}
Avatar billede tommyls Nybegynder
23. september 2002 - 16:52 #2
Sorry fik ikke forklaret det ordentligt:
Det skal være muligt at nulstille den. dvs der starter en timer , men hvis den pludselig får en false, skal den ikke eksekverer funktionen, og derfor nulstille timeren.
Avatar billede bamzen Nybegynder
23. september 2002 - 16:56 #3
er ikke helt med men måske dette er hvad du er ude efter

var startTimer = true

if(startTimer==true&&dinVariable=="dinTestvaerdi"){
setTimeout('dinNyeFunktion()',10000)
}

Så vil den kun blive udløst hvis BÅDE startTimer er true og din variable stemmer overens med det du vil teste den med.....
Avatar billede tommyls Nybegynder
23. september 2002 - 17:03 #4
Men det jeg faktisk søger er et script der kan stoppe:
setTimeout('dinNyeFunktion()',10000) midt i det hele.

Fordi hvis jeg først sætter  setTimeout() igang, vil den udløse min funktion uanset hvad!
Avatar billede bamzen Nybegynder
23. september 2002 - 17:05 #5
ok skift linien


setTimeout('dinNyeFunktion()',10000)

med

tim = setTimeout('dinNyeFunktion()',10000)

når du så har brug for at afbryde den

kalder du bare

clearTimeout(tim)

nemt ikke?
Avatar billede tommyls Nybegynder
23. september 2002 - 17:06 #6
ok det prøver jeg!
Avatar billede tommyls Nybegynder
23. september 2002 - 17:17 #7
nu har jeg dette i min funktion:
if (pis == "false"){
            tim = setTimeout('alert("svin")',1000);
        }
       
        if (bpis == "true"){
            clearTimeout(tim);
        }

Men den udløser stadig min alert()!
Avatar billede bamzen Nybegynder
23. september 2002 - 17:37 #8
<HTML>
<HEAD>
<SCRIPT LANGUAGE=JavaScript>
var tim  = null

tim = setTimeout('alert("test")',10000)

clearTimeout(tim)
</SCRIPT>
<BODY>

</BODY>
</HTML>


virker fint
Avatar billede bamzen Nybegynder
23. september 2002 - 17:38 #9
har du en url hvor jeg kan se hvad der sker?
Avatar billede tommyls Nybegynder
23. september 2002 - 17:50 #10
øh nej desværre, det er kontakt-bundet.

Men det virker fint hvis jeg i samme linje laver en clearTimeout(), men hvis jeg via true eller false prøver at stoppe min alert(), sker der intet!

lidt kode her!

function CheckMovement( test ) {
       
        var tim  = null;
       
        if (test == false){
            tim = setTimeout('alert("svin")',3000);
        }
        if (test == true){
            clearTimeout(tim);
        }
}

på knapperne udløser jeg så enten true eller false.

Men lortet virker sgu ikke!
Avatar billede bamzen Nybegynder
23. september 2002 - 18:09 #11
først når du laver en if som den ovenfor så kan du spare lidt kode og skrive

if(){

}else{

}

Dernæst, hvordan er koden til dine knapper??

og prøv at sætte var tim = null uden for (før) din funktion
Som du har det her, nulstiller du objektet tim (din timer), så den ikke længere ved den er en timer...
Avatar billede tommyls Nybegynder
24. september 2002 - 08:37 #12
hups, så virker den. Det er fandme utroligt hvad man skal igennem for så små ting! Godt kunden betaler =:)
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