Foros del Web » Programando para Internet » Javascript »

Detectar cuando el mouse no esta en movimiento

Estas en el tema de Detectar cuando el mouse no esta en movimiento en el foro de Javascript en Foros del Web. Hola a todos. Como bien se sabe el evento que se activa cuando el mouse se esta moviendo es el onMouseMove, hay alguna forma de ...
  #1 (permalink)  
Antiguo 27/02/2013, 17:10
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Ubicación: Medellin
Mensajes: 19
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Detectar cuando el mouse no esta en movimiento

Hola a todos.
Como bien se sabe el evento que se activa cuando el mouse se esta moviendo es el onMouseMove, hay alguna forma de detectar cuando el mouse esta completamente quieto y en ese momento ejecutar o disparar alguna función?
Gracias.
  #2 (permalink)  
Antiguo 27/02/2013, 17:28
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 7 meses
Puntos: 155
Respuesta: Detectar cuando el mouse no esta en movimiento

...pues no existe en Javascript un evento de mouse que detecte el no movimiento del mismo...para hacerlo de una forma simple, podes probar asi...

Código Javascript:
Ver original
  1. (function(){
  2.    var moviendo= false;
  3.    document.onmousemove = function(){
  4.       if(!moviendo){
  5.           moviendo= true;
  6.           // aqui tu codigo
  7.       }
  8.    };
  9. })()
  #3 (permalink)  
Antiguo 28/02/2013, 04:25
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Detectar cuando el mouse no esta en movimiento

Hola:

Posiblemente sea algo más complejo. Con el código de ipraetoriux saltará el evento justo cuando se mueve el ratón y si el ratón no se mueve, no saltará nada y no harás nada.

En el "// aqui tu codigo" no pongas nada.
Aparte, lanza un setInterval() cada x segundos de forma que si moviendo es true lo ponga a false y si moviendo es false, quiere decir que hace más de x segundos que el ratón no se mueve, entonces harías lo que quieres.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 28/02/2013, 07:57
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Ubicación: Medellin
Mensajes: 19
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Detectar cuando el mouse no esta en movimiento

Ok, gracias por su recomendaciones, las pondré en practica a ver como me va, pero no entiendo bien eso de poner el setInterval true o false.
  #5 (permalink)  
Antiguo 28/02/2013, 08:06
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Detectar cuando el mouse no esta en movimiento

Bueno, onmousemove pone a true la variable moviendo, para indicar que el ratón se está moviendo.

Alguien tiene que ponerla a false si no hay movimiento. Como no existe ese evento de "no movimiento del ratón", puedes poner el setInterval. Este pondrá a false esa variable cada x segundos. Y el mismo puede comprobar si esa variable está a false antes de ponerla, indicando así que no ha habido movimiento de ratón.

Código Javascript:
Ver original
  1. (function(){
  2.    var moviendo= false;
  3.    document.onmousemove = function(){
  4.           moviendo= true;
  5.    };
  6.    setInterval (function() {
  7.       if (!moviendo) {
  8.           // No ha habido movimiento desde hace un segundo, aquí tu codigo
  9.       } else {
  10.           moviendo=false;
  11.       }
  12.    }, 1000); // Cada segundo, pon el valor que quieras.
  13. })()

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 28/02/2013, 17:04
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Ubicación: Medellin
Mensajes: 19
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Detectar cuando el mouse no esta en movimiento

A que bien, ahora si entendí lo que querías decir, la idea esta buena, pero no consumirá muchos recursos por estar ejecutando ese setInterval cada x segundos?
  #7 (permalink)  
Antiguo 28/02/2013, 22:41
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Detectar cuando el mouse no esta en movimiento

Más recursos consumirá por estár haciendo un onmouseover cada vez que se mueva el ratón.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: mouse, movimiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:14.