5

在浏览器中,我试图确定代表鼠标位置的点是否在我所说的“外部区域”中。例如,在所附图像中,外部区域是蓝色背景的区域。

替代文字

在代码和图像中,W 代表浏览器视口的宽度,而 H 代表高度,x,y 代表鼠标位置

现在,我正在使用这段代码来做到这一点:

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

虽然它按原样工作,但我想知道是否有更好的方法?

4

2 回答 2

5

您不需要检查它是否大于 0 且小于 W,因为指针 x 位置不能小于 0 或大于 W。同样适用于 Y 轴。以下应该足够了:

if((x>w2 || x<w1) || (y>h2 || y<h1)){
  console.log("We are in the outer area");
}
于 2009-10-15T09:03:05.220 回答
4

您可以将整个页面包装到一个 DIV(称为outer)中,然后连接到该hover事件。

于 2009-10-15T09:03:12.700 回答