2011-05-25 13 views
6

Aquí está mi código:Necesita ayuda para eventos de tiempo con jQuery

 tripper = 2; 
    $("#topheader").mousewheel(function(event, delta) { 
     if (tripper == 2){ 
      startPlace = $("#content").scrollLeft(); 
      startCounter = something; 
      tripper = 1; 
     } else { 
      currentPlace = $("#content").scrollLeft(); 
      if(startCounter < 100){ // milliseconds 
      distanceMoved = currentPlace - startPlace; 
       if(distanceMoved > 100){ 
        slideRight(); 
       } else if(distanceMoved < -100){ 
        slideLeft(); 
       } 
      } else { 
       tripper = 2; 
      } 
     } 
    } 

¿Cuál es la forma correcta para comprobar si 100 milisegundos ha pasado cierto sentido el primer tiempo a través de esta función? En la 5ª línea de código, tengo la variable "algo" que necesita ser reemplazada por un contador de algún tipo. O tal vez estoy haciendo esto de una manera completamente incorrecta. Sugerencias?

Respuesta

5

Puede crear instancias de una "fecha" objeto como éste:

var then = new Date(); 

Más tarde se puede hacer otro:

var now = new Date(); 

Resta da la diferencia en milisegundos:

var elapsed = now - then; 

(La coacción de "Fecha" a "Número" está implícita cuando los dos valores de fecha aparecen a ambos lados de la resta n operador. La conversión es como llamar "now.getTime()")

3

el siguiente código que no se ha probado, pero básicamente, después de 100 milisegundos, se debe restablecer timeout volver a nulo y, finalmente, establecer tripper de nuevo a. 2;

tripper = 2; 
timeout = null; 
$("#topheader").mousewheel(function(event, delta) { 
    if (tripper == 2){ 
     startPlace = $("#content").scrollLeft(); 
     if (!timeout) { 
      setTimeout(function() { 
       timeout = null 
      }, 100); 
     } 
     tripper = 1; 
    } else { 
     currentPlace = $("#content").scrollLeft(); 
     if(timeout){ // milliseconds 
      distanceMoved = currentPlace - startPlace; 
      if(distanceMoved > 100){ 
       slideRight(); 
      } else if(distanceMoved < -100){ 
       slideLeft(); 
      } 
     } else { 
      tripper = 2; 
     } 
    } 
} 
Cuestiones relacionadas