2009-10-15 25 views
5

Trong trình duyệt, tôi đang cố gắng xác định xem điểm đại diện cho vị trí chuột có nằm trong thứ tôi gọi là "vùng ngoài" hay không. Ví dụ, trong hình ảnh được đính kèm, khu vực bên ngoài là khu vực có nền màu xanh lam.Xác định xem vị trí chuột gần các cạnh của trình duyệt

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

Trong mã và hình ảnh W thể hiện chiều rộng của cửa quan sát của trình duyệt, trong khi H đại diện cho chiều cao, và x, y cho vị trí chuột

Ngay bây giờ, tôi đang sử dụng này đoạn mã để làm điều đó:

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

Trong khi nó hoạt động như hiện tại, tôi tự hỏi liệu có cách nào tốt hơn không?

+0

Tôi có thể hỏi bạn những gì bạn định làm? Có một số loại "di chuyển trên cạnh" điều như trong hầu hết các trò chơi RTS? –

+0

Không. Trang sẽ không cuộn bằng chuột. Nó giống như tôi muốn thiết lập một số dữ liệu khi chuột ở khu vực bên ngoài. – ivb

Trả lời

5

Bạn không cần kiểm tra xem nó có lớn hơn 0 và nhỏ hơn W, vì vị trí con trỏ x không được nhỏ hơn 0 hoặc lớn hơn W. Điều này cũng áp dụng cho trục Y. Sau đây là đủ:

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

Bạn có thể bọc toàn bộ trang của bạn thành một DIV (gọi tắt là outer) và sau đó kết nối với sự kiện hover.

Các vấn đề liên quan