Avatar billede heyn Nybegynder
08. februar 2006 - 11:01 Der er 4 kommentarer og
1 løsning

Nedtælling af variabel.

Hej Alle
Jeg skal lave en variabel der kan nedtæller variablen contdown fra 300000 millisekunder til 0, men hvis der sker en keypress i textarea justeres countdown til atter at være 300000. Årsagen er at siden skal opdateres 5 min. efter sidste keypress.
Jeg forestillede mig noget i stil med:

countdown(){
NEDTÆLLING BEGYNDER.
HVIS keypress GENSTARTES NEDTÆLLING
NÅR NEDTÆLLING AFSLUTTER return true
}
update{
while(!countdown){}
document.update_form.submit();
}
document.onload(update);

Men hvordan startes, afbrydes og genstartes nedtælling?

Mvh Christian
Avatar billede olebole Juniormester
08. februar 2006 - 13:41 #1
<ole>

Det kunne være noget i retning af:

<script type="text/JavaScript">
var timer = setTimeout("reloadPage()", 300000);
function checkForUpdate() {
    clearTimeout(timer);
    timer = setTimeout("reloadPage()", 300000);
}
function reloadPage() {
    loaction.reload(true);
}
</script>

<textarea onkeypress="checkForUpdate()"></textarea>

/mvh
</bole>
Avatar billede heyn Nybegynder
08. februar 2006 - 14:17 #2
Helt klart.
Basisstruktur for min løsning er hjemme. Tak skal du have.
Jeg kendte ikke clearTimeOut().
Jeg vidste iøvrigt heller ikke at varibles og funktioners rækkefølge var ligegyldig? Sikke meget tid jeg har kunnet spare gennem tiden.
I C++ ville det jo være meget vigtigt at reloadPage() kom før var timer=setTimeout("reloadPage()", 300000);

Lægger du et SVAR? Christian
Avatar billede olebole Juniormester
08. februar 2006 - 14:46 #3
Rækkefølgen er skam langtfra ligegyldig i JavaScript. Det er yderst vigtigt, at en variabel og/eller funktion er erklæret/defineret, før den kaldes - og det er netop tilfældet her. Dette er tilgengæld ikke muligt:

<script type="text/JavaScript">
foo();

function foo() {
    alert("Foo blev kaldt ... eller gjorde den?  ;o)");
}
</script>
Avatar billede olebole Juniormester
08. februar 2006 - 14:47 #4
- men dette er muligt (da funktionen først bliver kaldt, efter den er blevet parsed af browseren)

<script type="text/JavaScript">
setTimeout("foo()", 1000);

function foo() {
    alert("Foo blev kaldt ... eller gjorde den?  ;o)");
}
</script>
Avatar billede heyn Nybegynder
08. februar 2006 - 15:29 #5
Ah - hae
Sikke meget tid jeg har sparet ved altid at sætte variable før funktion - ligesom i C++.
Mvh Christian
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