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:

var t = 0; // globális változó a setTimeout tárolására

function delay() {
  clearTimeout(t); // Töröljük a korábbi időzítőt (ha volt ilyen)
  t = setTimeout("kalk()", 2000); // Beállítjuk az időzítőt 2 másodpercre.
}

/**
 * Csinálunk valami fantasztikusat.
 */
function kalk() {
  var data = document.getElementById('data').value;
  alert(data);
}
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
window.setTimeout("kalk('adat', 1234)", 2000);   
vagy:
var x = 'adat';
var y = 123;
window.setTimeout(function () {
  kalk(x, y);
}, 2000);