Javascript 当前光标位置(百分比)

Javascript 当前光标位置(百分比),javascript,jquery,Javascript,Jquery,如何以百分比形式获取当前光标位置(xy坐标) <script type="text/javascript"> $(document).ready(function(){ $(document).mousemove(function(getCurrentPos){ var xCord = getCurrentPos.pageX; var yCord = getCurrentPos.pageY;

如何以百分比形式获取当前光标位置(xy坐标)

<script type="text/javascript">
    $(document).ready(function(){
        $(document).mousemove(function(getCurrentPos){
            var xCord = getCurrentPos.pageX;
            var yCord = getCurrentPos.pageY;
            console.log(xCord+" "+yCord);
        });
    });
</script>

$(文档).ready(函数(){
$(文档).mousemove(函数(getCurrentPos){
var xCord=getCurrentPos.pageX;
var yCord=getCurrentPos.pageY;
console.log(xCord+“”+yCord);
});
});

我想要页面的总宽度(x坐标)用百分比来处理响应性布局?

使用:
getCurrentPos.view.outerHeight
getCurrentPos.view.outerWidth
来获得高度和宽度的实际大小,然后用已经得到的百分比来计算。

使用:
getCurrentPos.view.outerHeight
getCurrentPos.view.outerWidth
来获得高度和宽度的实际大小,然后用您已经得到的计算百分比。

您可以输入jquery调用,类似于:

xPercent = xCord / $( document ).width() * 100;
console.log( xPercent + "%" );
(另请注意jQuery调用)

您可以输入jQuery调用,例如:

xPercent = xCord / $( document ).width() * 100;
console.log( xPercent + "%" );

(另请注意jQuery调用)

pageY
将考虑浏览器标题栏的偏移量,您希望改用
clientY
。在下面的代码中,您的
xPercent
yPercent
从0到1(如果需要实际百分比,请乘以100)


或者,由于您使用的是jQuery,
$(window).width()和
$(window).height()
更适合跨浏览器使用。

pageY
将考虑浏览器标题栏的偏移量,因此您希望改用
clientY
。在下面的代码中,您的
xPercent
yPercent
从0到1(如果需要实际百分比,请乘以100)


或者因为您使用的是jQuery,
$(window).width()
$(window).height()
更适合跨浏览器使用。

我知道这是非常古老的,并且有一个公认的答案,但我想既然它出现在谷歌上,我会提供一种非jQuery的方式,尽管它可能很简单

我制作这个代码笔是为了方便参考:

HTML(用于显示数字):

Position X: <span id="posX">NaN</span>%<br/>
Position Y: <span id="posY">NaN</span>%
body {
  margin: 0;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background: skyblue;
  font-weight: bold;
  font-family: arial;
}
// Container and displays
const container = document.querySelector("body");
let posXDisplay = document.getElementById("posX");
let posYDisplay = document.getElementById("posY");

// On mousemove
container.addEventListener("mousemove", (e)=> {
  // Do math
  xPercent = parseInt(e.pageX / window.innerWidth * 100);
  yPercent = parseInt(e.pageY / window.innerHeight * 100);

  // Display numbers
  posXDisplay.innerText = xPercent;
  posYDisplay.innerText = yPercent;
});
Javascript(魔法):

Position X: <span id="posX">NaN</span>%<br/>
Position Y: <span id="posY">NaN</span>%
body {
  margin: 0;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background: skyblue;
  font-weight: bold;
  font-family: arial;
}
// Container and displays
const container = document.querySelector("body");
let posXDisplay = document.getElementById("posX");
let posYDisplay = document.getElementById("posY");

// On mousemove
container.addEventListener("mousemove", (e)=> {
  // Do math
  xPercent = parseInt(e.pageX / window.innerWidth * 100);
  yPercent = parseInt(e.pageY / window.innerHeight * 100);

  // Display numbers
  posXDisplay.innerText = xPercent;
  posYDisplay.innerText = yPercent;
});

我知道这是非常古老的,并且有一个公认的答案,但我想既然它出现在Google上,我会提供一种非Jquery的方式,尽管它可能很简单

我制作这个代码笔是为了方便参考:

HTML(用于显示数字):

Position X: <span id="posX">NaN</span>%<br/>
Position Y: <span id="posY">NaN</span>%
body {
  margin: 0;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background: skyblue;
  font-weight: bold;
  font-family: arial;
}
// Container and displays
const container = document.querySelector("body");
let posXDisplay = document.getElementById("posX");
let posYDisplay = document.getElementById("posY");

// On mousemove
container.addEventListener("mousemove", (e)=> {
  // Do math
  xPercent = parseInt(e.pageX / window.innerWidth * 100);
  yPercent = parseInt(e.pageY / window.innerHeight * 100);

  // Display numbers
  posXDisplay.innerText = xPercent;
  posYDisplay.innerText = yPercent;
});
Javascript(魔法):

Position X: <span id="posX">NaN</span>%<br/>
Position Y: <span id="posY">NaN</span>%
body {
  margin: 0;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background: skyblue;
  font-weight: bold;
  font-family: arial;
}
// Container and displays
const container = document.querySelector("body");
let posXDisplay = document.getElementById("posX");
let posYDisplay = document.getElementById("posY");

// On mousemove
container.addEventListener("mousemove", (e)=> {
  // Do math
  xPercent = parseInt(e.pageX / window.innerWidth * 100);
  yPercent = parseInt(e.pageY / window.innerHeight * 100);

  // Display numbers
  posXDisplay.innerText = xPercent;
  posYDisplay.innerText = yPercent;
});

什么百分比?页面的总高度/宽度是多少?@KevinBrown:我想要页面的宽度,我建议你把它放在问题中。计算百分比是一个很小的数学问题。你不知道怎么做吗?@tryingtogetprogramming直截了当:我明白了。感谢什么?页面的总高度/宽度是多少?@KevinBrown:我想要页面的宽度,我建议你把它放在问题中。计算百分比是一个很小的数学问题。你不知道怎么做吗?@tryingtogetprogramming直截了当:我明白了。谢谢