Determinare se una posizione del mouse è vicino ai bordi del browser
-
21-09-2019 - |
Domanda
In un browser, sto cercando di determinare se il punto che rappresenta la posizione del mouse è in quello che io chiamo un "zona esterna". Per esempio, nell'immagine allegata, l'area esterna è quella con uno sfondo blu.
Nel codice e l'immagine W rappresenta la larghezza della finestra del browser, mentre H rappresenta l'altezza, e x, y per la posizione del mouse
In questo momento, sto usando questo pezzo di codice per farlo:
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")
Anche se funziona così com'è, mi chiedo se c'è un modo migliore per esso?
Soluzione
Non è necessario controllare se è maggiore di 0 e minore di W, poiché la posizione del puntatore x non può essere inferiore a 0 o superiore W. Lo stesso vale per l'asse Y. Il seguente dovrebbe essere sufficiente:
if((x>w2 || x<w1) || (y>h2 || y<h1)){
console.log("We are in the outer area");
}
Altri suggerimenti
Si potrebbe avvolgere l'intera pagina in un DIV (chiamato outer
) e poi collegare alla manifestazione hover
.