ugrás a tartalomhoz

set Timeout,ClearTimeout

aspirany · 2008. Okt. 6. (H), 20.51
Sziasztok!

Volt már ilyen téma,de a leírtak alapján nem működik.
A lényeg az lenne ha két billentyüzet leütés között nem tellik el 2 másodperc akkor az előzőt törölje.

a kód
function delay()
{
 var t=0;
 clearTimeout(t)
 
t=setTimeout("kalk()",4000);
}

function kalk()
{
 data = document.getElementById('data').value
 alert(data);
}


köszönöm a segítséget
 
1

Szerintem valami ilyesmire

Poetro · 2008. Okt. 6. (H), 22.38
Szerintem valami ilyesmire gondoltál:
  1. var t = 0; // globális változó a setTimeout tárolására  
  2.   
  3. function delay() {  
  4.   clearTimeout(t); // Töröljük a korábbi időzítőt (ha volt ilyen)  
  5.   t = setTimeout("kalk()", 2000); // Beállítjuk az időzítőt 2 másodpercre.  
  6. }  
  7.   
  8. /** 
  9.  * Csinálunk valami fantasztikusat. 
  10.  */  
  11. function kalk() {  
  12.   var data = document.getElementById('data').value;  
  13.   alert(data);  
  14. }  
2

köszönöm :)

aspirany · 2008. Okt. 6. (H), 22.52
Igen erre gondoltam :)

közben már Én is rájöttem; Köszi mégegyszer.

Lenne még egy kérdésem.Paramétert szeretnék átadni a delay-nek

pl:
function delay(adat) {  
  clearTimeout(t);    
  t = setTimeout("kalk(adat)", 2000);  
}


Válaszokat köszönöm
3

konstans / változó

Poetro · 2008. Okt. 6. (H), 23.05
  1. window.setTimeout("kalk('adat', 1234)", 2000);     
vagy:
  1. var x = 'adat';  
  2. var y = 123;  
  3. window.setTimeout(function () {  
  4.   kalk(x, y);  
  5. }, 2000);