/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
setTimeout med lokal variabel
Fra : hcs89


Dato : 24-03-09 09:10

Den følgende kode skulle gerne generere et felt, der automatisk talte
opad fra 0.
ved at trykke på knappen 'hold' skulle man kunne fange værdien af
variablen 'n' gemme den (som 'm') og så efter 3 sek, få den skrevet i
'field2'-feltet.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var num = 0
var m
function count()
{
   document.getElementById("field").value = num;
   num++
   setTimeout("count()",1000);
}
function hold()
{
   var m=n;
   t = setTimeout("document.getElementById('field2').value = m;",3000);
}</script>
<title>Untitled Document</title>
</head>
<input type="text" id="field" /> <input type="button" value="start
count" onclick="count()" />
<input type="text" id="field2" /> <input type="button" value="hold"
onclick="hold()" />
<body>
</body>
</html>

Det virker ikke. Jeg er et sikker på at problemet er at den lokale
variabel m bliver slettet efter af funktionen løber ud (funktionen
løber videre efter at timeoutet er blevet startet - og når således at
afslutte)
er der nogen der har en ide om hvordan problemet kan løses?
det duer ikke at erklære en global variabel og så give dén den
aktuelle værdi. skal være sådan så hvis man trykker på hold to gange i
træk bliver der fanget to forskellige værdier og vist respektivt 3 sek
efter klikket.
--synes selv det er lidt af en udfordring håber at der er nogen der
kan hjælpe!

(er selvfølgelig ikke denne her kode jeg skal have til at virke.. er
bare et eksempel jeg har oprettet for at isolere problemet)

 
 
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste