Как я могу определить, находится ли мышь в определенной части экрана? - PullRequest
0 голосов
/ 18 сентября 2018

Итак, я пытаюсь изменить значение переменной на основе координаты Y указателя, и я не уверен, как бы я это сделал.Я попробовал это:

 var righttext = mousemove.clientY;
 switch(righttext){
     case //not sure what to put here
     }

, но я не был уверен, что положить в дело.Я хочу сделать что-то вроде этого примера: case "top 20% of screen".Как бы я выяснил, каковы координаты экрана, а затем выяснил, как использовать это в операторе switch?

Части, на которые я хочу повлиять, это всего лишь пятые части экрана, разделенные по горизонтали.

РЕДАКТИРОВАТЬ:

Таким образом, я был связан с другим постом, и нашел аналогичный ответ на то, что я искал.Я изменил код, чтобы он выглядел так:

document.addEventListener('mousemove', _.throttle(mouseMoveEventAction, 200));

function mouseMoveEventAction(e) {
	changetext(isInsideThreshold(e.clientY));
}
var rpaneltext = "";

function changetext(isActive) {
  if (isActive) {
      rpaneltext = "awareness";
  } else {
      rpaneltext = "";
  }
}

function isInsideThreshold(cursorY) {
	var threshold = .2;
	var clientHeight = document.documentElement.clientHeight;
  return cursorY > (clientHeight - threshold);
}
Но это все равно не работает.Есть идеи?

Проект здесь : Часть, на которую righttext повлияет, равна document.querySelector(".r2").textContent = righttext

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете посмотреть на window.innerHeight и window.innerWidth.Они возвращают размеры области просмотра.

Вам может повезти с такой логикой if-else.

if (event.clientY < window.innerHeight / 2) {
    // it's in the upper half
} else {
    // it's in the lower half
}
...