2009-10-15 10 views
5

En un navegador, estoy tratando de determinar si el punto que representa la posición del mouse está en lo que llamo un "área externa". Por ejemplo, en la imagen adjunta, el área externa es la que tiene un fondo azul.Determinar si la posición del mouse está cerca de los bordes del navegador

alt text http://i34.tinypic.com/r8grwz.png

En el código y la imagen W representa la anchura de la ventana gráfica del navegador, mientras que H representa la altura, y x, y para la posición del ratón

En este momento, estoy usando este pedazo de código para hacerlo:

if (((x>0 && x<w1) || (x>w2 && x<W)) 
    || 
    ((x>w1 && x<w2) && 
     ((y>0 && y<h1) || (y>h2 && y<H)) 
    )) 
    console.log("we are in the outer area") 

Mientras funciona como es, me pregunto si hay alguna forma mejor de él?

+0

¿Puedo preguntarte qué vas a hacer? ¿Es algo así como "scroll on edge" como en la mayoría de los juegos RTS? –

+0

No. La página no se desplazará con el mouse. Es más como si quisiera configurar algunos datos cuando el mouse está en el área externa. – ivb

Respuesta

5

No necesita comprobar si es mayor que 0 y menor que W, ya que la posición del puntero x no puede ser menor que 0 o mayor que W. Lo mismo se aplica al eje Y. Lo siguiente debe ser suficiente:

if((x>w2 || x<w1) || (y>h2 || y<h1)){ 
    console.log("We are in the outer area"); 
} 
4

Se puede envolver su página entera en un DIV (llamado outer) y luego conectar al evento hover.

Cuestiones relacionadas