1

所以我试图根据指针的 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);
}
但它仍然不起作用。有任何想法吗?

项目在这里:将受到影响的部分righttextdocument.querySelector(".r2").textContent = righttext

4

1 回答 1

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
}
于 2018-09-18T18:41:16.073 回答