2009-10-15 17 views
5

W przeglądarce próbuję ustalić, czy punkt reprezentujący pozycję myszy znajduje się w obszarze nazywanym "obszarem zewnętrznym". Na przykład na dołączonym obrazie obszar zewnętrzny to ten z niebieskim tłem.Określanie, czy pozycja myszy znajduje się w pobliżu krawędzi przeglądarki

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

w kod i wizerunku W oznacza szerokość widoku z przeglądarki, a H oznacza wysokość, a X, Y do pozycji myszy

Teraz mi pomocą tego kawałek kodu, aby to zrobić:

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") 

Chociaż działa tak, jak jest, zastanawiam się, czy jest jakiś lepszy sposób na to?

+0

Czy mogę zapytać, co zamierzasz zrobić? Czy jest to coś w rodzaju "przewijania na krawędzi", jak w większości gier RTS? –

+0

Nie. Strona nie będzie przewijana za pomocą myszy. To jest bardziej jak chcę ustawić dane, gdy mysz znajduje się w zewnętrznym obszarze. – ivb

Odpowiedz

5

Nie trzeba sprawdzać, czy jest większa niż 0 i mniejsza niż W, ponieważ położenie wskaźnika X nie może być mniejsze niż 0 lub większe niż W. To samo dotyczy osi Y. Następujące dokumenty powinny być wystarczająco:

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

Można owinąć całą swoją stronę do DIV (tzw outer), a następnie połączyć się z imprezy hover.

Powiązane problemy