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

“替代文字”

在的代码和图像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")

虽然它的工作原理,因为它是,我不知道是否是有它没有更好的办法?

有帮助吗?

解决方案

您不必检查它是否大于0且小于W,由于指针x位置不能小于0或大于W.这同样适用于Y轴。下面列出的是不够的:

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

其他提示

您可以换你的整个页面变成一个DIV(称为outer),然后连接到hover事件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top