2010-02-25 19 views
5

Voglio calcolare il tempo tra due clic di un attributo con javascript ma non so come.Calcolo del tempo tra due clic in Javascript

Ad esempio;

<a href="#">click here</a> 

se l'utente fa clic più di una volta -let di voce in capitolo 5 secondi- voglio visualizzare un avviso. Sto usando jQuery se questo aiuta. Non so molto di javascript ma ho programmato un piccolo progetto nel mio tempo libero.

risposta

9

Qualcosa del genere avrebbe funzionato. Mantieni una variabile con il tempo dell'ultimo clic e confrontalo quando l'utente fa nuovamente clic sul link. Se la differenza è < 5 secondi mostrano l'avviso

<a id='testLink' href="#">click here</a> 
<script type='text/javascript'> 
    var lastClick = 0; 
    $("#testLink").click(function() { 
     var d = new Date(); 
     var t = d.getTime(); 
     if(t - lastClick < 5000) { 
      alert("LESS THAN 5 SECONDS!!!"); 
     } 
     lastClick = t; 
    }); 
</script> 
1

Possono aiutare a iniziare:

var lastClicked = 0; 

function onClickCheck() { 
    var timeNow = (new Date()).getTime(); 

    if (timeNow > (lastClicked + 5000)) { 
     // Execute the link action 
    } 
    else { 
     alert('Please wait at least 5 seconds between clicks!'); 
    } 

    lastClicked = timeNow; 
} 

HTML:

<a href="#" onClick="onClickCheck();">click here</a> 
0
  1. Creare una variabile per tenere il tempo di un clic, ad esempio lastClick.
  2. Impostare un gestore di clic per l'elemento su cui si desidera tenere traccia dei clic.
  3. All'interno del gestore, verificare un valore in lastClick. Se non c'è alcun valore, impostalo sull'ora corrente. Se c'è un valore, confrontalo con l'ora corrente. Se la differenza rientra nell'intervallo che stai verificando, visualizza l'avviso.