Avatar billede Cars10 Praktikant
16. december 2005 - 08:09 Der er 7 kommentarer og
1 løsning

Simpel javascript counter

Hej eksperter jeg skal bruge en simpel counter der kan tælle til 1000 med 500 milisekunders mellemrum hvorefter den starter forfra. Countervariablen skal bare bruges til et andet javascript så den skal ikke udskrives
Avatar billede softspot Forsker
16. december 2005 - 08:58 #1
Det kunne være noget i stil med:

var cnt = 0;

function incCounter() {
  if(cnt++ >= 1000) cnt = 0;
  setTimeout("incCounter()", 500);
}


Det er muligt at du skal benytte setInterval i stedet, men det burde fungere med ovenstående (selvom du nok ikke skal basere noget tidskritisk på denne tæller).
Avatar billede softspot Forsker
16. december 2005 - 08:59 #2
...når den skal startes kalder du blot incCounter(), det kunne f.eks. være i onload, således:

window.onload = incCounter;
Avatar billede Cars10 Praktikant
16. december 2005 - 11:21 #3
kan det lade sig gøre at den ikke starter forfra hver gang man trykker på et link. f.eks noget med sessions ???
Avatar billede softspot Forsker
16. december 2005 - 11:31 #4
Det er nok snarere en cookie du skal have gang i... dem er jeg ikke så stiv i, men det kunne være noget i stil med (utestet, men til inspiration i det mindste):

var cnt = 0;

function setCookie() {
  var dt = new Date();
  dt.setTime(dt.getTime()+10000);
  document.cookie = "cnt=" + cnt + "; expires=" + dt.getTime();
}

function incCounter() {
  if(cnt++ >= 1000) cnt = 0;
  setCookie();
  setTimeout("incCounter()", 500);
}

window.onload = function() {
  var soff = document.cookie.indexOf("cnt=");
  var eoff = document.cookie.indexOf(";");
  var cval = document.cookie.substr(soff+4,eoff-soff);
  cnt = (cval != '' ? cval : 0);
  incCounter();
}
Avatar billede Cars10 Praktikant
04. januar 2006 - 08:37 #5
Ok men tak alligevel. Ligger du et svar?
Avatar billede roenving Novice
04. januar 2006 - 08:40 #6
-- og expires-strengen skal være i gmt-tid, altså:

  document.cookie = "cnt=" + cnt + "; expires=" + dt.toGMTString();
Avatar billede softspot Forsker
04. januar 2006 - 23:24 #7
Ja, svar får du her :)
Avatar billede softspot Forsker
05. november 2006 - 12:27 #8
Tak for point - og tak til roenving for at rette fejlen med dato-formatet... :)
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