博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML 鼠标坐标和元素坐标
阅读量:7136 次
发布时间:2019-06-28

本文共 1033 字,大约阅读时间需要 3 分钟。

在这一篇文章中,将会介绍鼠标坐标、元素坐标以及鼠标在指定元素内的坐标。

 

1. 鼠标坐标

在触发鼠标相关事件时(如:click、mousemove),可以通过事件对象获取当前鼠标的坐标。

获取的坐标可分为2种:

1) MouseEvent.screenX、MouseEvent.screenY :基于屏幕的X、Y坐标;以屏幕的左上角为0,0起始点。

 

2) MouseEvent.clientX、MouseEvent.clientY :基于body的X、Y坐标;以当前body的左上角为0,0起始点,若body含有水平滚动条或垂直滚动条时,左上角还是0,0坐标点。

 

 

2.  元素的坐标

元素的getBoundingClientRect()方法可获取一个 ClientRect 对象,其描述了元素的方位和宽高等信息。

2.1 ClientRect对象属性

属性名称 属性说明
width 元素的宽度
height 元素的高度
left  元素左上角距离当前可视body的宽度
top 元素左上角距离当前可视body的高度
right 元素右下角距离当前可视body的宽度;right = left + width
bottom 元素右下角距离当前可视body的高度;bottom = top + height

 

2.2 图示

 

2.3 其他坐标

除了这些直接属性外,还可以结合其他元素获取更详细的坐标:

1) 元素左上角在整体body的水平坐标 = document.body.scrollLeft + element.getBoundingClientRect().left;

2) 元素左上角在整体body的垂直坐标 = document.body.scrollTop + element.getBoundingClientRect().top;

 

3. 鼠标在元素内的坐标

通过之前学到的获取鼠标坐标和元素坐标后,还可进一步获取鼠标在元素内的坐标。

以鼠标在元素内的x坐标为例,等于鼠标的 clientX 减去 元素的getBoundingClientRect()放的left,最后在加上元素的scrollLeft的值。

公式如下

x = mouse.clientX - element.left + element.scrollLeft

y = mouse.clientY - element.top + element.scrollTop

示例

 

转载地址:http://mjcrl.baihongyu.com/

你可能感兴趣的文章
安防市场中智慧社区的潜在商机
查看>>
拯救狗盲症,搜狗图片搜索一步精准识狗
查看>>
传统全闪存阵列升级 阻碍XtremIO跻身市场第一
查看>>
蜂窝物联网将与“工业4.0”深度融合
查看>>
我的软件测试之旅:(3)同期——加入测试自动化小组
查看>>
看看苹果面试提的44个奇葩问题,你能回答出几个
查看>>
EXTRONICS推出IRFID500便携式UHF RFID读写器
查看>>
澳大利亚CIO普遍倾向于云计算
查看>>
Android学习笔记之如何对应用进行单元测试
查看>>
疏重于堵 如何应对网络爬虫流量很重要
查看>>
CYQ.Data V5 分布式缓存MemCached应用开发介绍
查看>>
微软称Win10史上最安全 黑客18秒攻破打脸
查看>>
自相矛盾:一个进程可以自成死锁么?
查看>>
ASP.NET 5 已终结,迎来 ASP.NET Core 1.0 和 .NET Core 1.0
查看>>
《精通LabVIEW虚拟仪器程序设计与案例实现》一1.1 LabVIEW与G语言
查看>>
《思科UCS服务器统一计算》一2.4 Intel微架构
查看>>
Android Studio 优秀插件汇总
查看>>
《数据结构与抽象:Java语言描述(原书第4版)》一1.3 使用ADT包
查看>>
How to Quickly Implement Nginx-based Website Monitoring
查看>>
两个漏洞可让十亿安卓手机被获取 Root 权限?
查看>>