热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在HTML中获取鼠标的当前位置

本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。

html获取鼠标的当前位置


1.相对于屏幕

如果是涉及到鼠标点击确定位置相对比较简单,获取到鼠标点击事件后,事件screenX,screenY获取的是点击位置相对于屏幕的左边距与上边距,不考虑iframe因素,不同游览器下表现的还算一致。

function getMousePos(event) {var e = event || window.event;return {'x':e.screenX,'y':screenY}
}

2.相对于游览器窗口

简单代码即可实现,然而这时还不够,因为绝大多数情况下我们希望获取鼠标点击位置相对于游览器窗口的坐标,event的clientX,clientY属性分别表示鼠标点击位置相对于文档的左边距,上边距。

function getMousePos(event) {var e = event || window.event;return {'x':e.clientX,'y':clientY}
}

3.页面滚动

  clientX与clientY是获取相对于当前屏幕的坐标,忽略了页面滚动因素,这在很多环境下很有用,但当我们需要考虑页面滚动,也就是相对于文档(body元素)的坐标时怎么办呢?只要加上滚动的位移就可以了。

  在chrome可以通过document.body.scrollLeft,document.body.scrollTop计算出页面滚动位移,而在IE下可以通过document.documentElement.scrollLeft,document.documentElement.scrollTop


<html lang&#61;"en">
<head><meta charset&#61;"UTF-8"><meta name&#61;"viewport" content&#61;"width&#61;device-width, initial-scale&#61;1.0"><title>Documenttitle><style type&#61;"text/css">.centerClass{position: absolute;top: 50%;left: 50%;}style>
head>
<body><div class&#61;"centerClass">鼠标x位置:<input type&#61;"text" id&#61;"x">input><br>鼠标y位置:<input type&#61;"text" id&#61;"y">input>div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><div>1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111div><script>document.onmousemove &#61; mouseMove;function mouseMove(event){var e &#61; event || window.event;var scrollx &#61; document.documentElement.scrollLeft || document.body.scrollTop;var scrolly&#61; document.documentElement.scrollTop || document.body.scrollTop;var x &#61; e.pageX || e.clientX &#43; scrollx;var y &#61; e.pageY || e.clientY &#43; scrolly;document.getElementById("x").value &#61; x;document.getElementById("y").value &#61; y;console.log(x);console.log(y);}script>
body>
html>

  展示效果&#xff1a;
在这里插入图片描述


推荐阅读
author-avatar
神秘的穿越火线99_628
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有