如何检测鼠标是否在屏幕的特定位置?

时间:2018-09-18 18:36:22

标签: javascript html variables pts

因此,我试图基于指针的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);
}
但这仍然行不通。有什么想法吗?

项目here:受righttext影响的部分是document.querySelector(".r2").textContent = righttext

1 个答案:

答案 0 :(得分:2)

您可以查看window.innerHeightwindow.innerWidth。它们返回视口尺寸。

使用if-else这样的逻辑可能会更好。

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