Определение того, находится ли положение мыши рядом с краями браузера

StackOverflow https://stackoverflow.com/questions/1571118

Вопрос

В браузере я пытаюсь определить, находится ли точка, представляющая позицию мыши в том, что я называю «внешней областью». Например, на прикрепленном изображении внешняя область - такая с синим фоном.

alt text

В коде и изображении 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