正确使用pageX、pageY、offsetLeft、offsetTop
获取鼠标位置的时候,遇到一点疑问,然后验证了一下自己的疑惑;
pageX、pageY跟clientX和clientY类似,是相对于浏览器文档的坐标;
offsetLeft、offsetTop获取的是固定定位,也就是说,监听某个选择器内的鼠标位置,这个方法返回的是这个固定范围的左上角离页面左上角的距离坐标;
下面利用一个简单的div来演示一下
div{width: 100px;height: 100px;border: 1px solid red;margin: 200px 200px;}
对应的我们想要获取一下当前div元素的上述四个属性值:
document.querySelector('div').onmousemove = (e) => {const x = e.pageX;const y = e.pageY;const x1 = e.target.offsetLeft;const y1 = e.target.offsetTop;console.log('x='+x);console.log('y='+y);console.log('x1='+x1);console.log('y1='+y1);
}
针对验证我们就可以在页面的控制台看一下,所得到的值;
当我把鼠标放在div元素的左上角顶点时:
然后当我把鼠标放在div内部时:
其实结合使用这两个方法,可以得到当前鼠标的位置与包裹元素侧边的距离,对于有些应用会很有帮助;
正确使用pageX、pageY、offsetLeft、offsetTop相关推荐
- pageX,clientX,offsetLeft,scrollLeft的区别
pageX,clientX,offsetLeft,scrollLeft的区别 1.pageX / pageY pageX / pageY的值为鼠标相对于document的距离,即网页左上角的位置 2. ...
- 页面上pageX、offsetLeft等的使用方法
页面上pageX.offsetLeft等的使用方法 pageX: 页面X坐标位置 pageY: 页面Y坐标位置 <script>window.onmousemove=function(e) ...
- pageX/pageY、clientX/clientY、screenX/screenY的区别
在触发鼠标事件的时候会传一个event参数,在这个参数中我们可以获得pageX/pageY.clientX/clientY.screenX/screenY,但是这几个属性有啥区别呢?看下图 scree ...
- 对于offsetWidth,offsetHeight,offsetLeft,offsetTop的理解
如何理解区分offsetWidth,offsetHeight,offsetLeft,offsetTop 在刚开始使用的时候总是不能理解这四个有什么不一样,用在哪里,因为这几个词真的太像了,emmm,总 ...
- JavaScript中pageX pageY offsetX offsetY区别
IE下没有pageX,pageY这两个属性 pageX pageY:鼠标指针的位置,文档的坐标. offsetX offsetY:鼠标相对于事件源元素的x,y坐标
- 理清offsetparent()、offsetLeft/offsetTop、offset()、position()
简而言之,它们的概念如下: ① offsetparent() 指的是元素的第一级拥有定位属性(absolute/relative/fixed)的父元素. ② offsetLeft/offsetTop ...
- clientX, clientY | offsetX, offsetY | pageX, pageY的区别:
clientX, clientY | offsetX, offsetY | pageX, pageY的区别: ✍ clientX, clientY:指的是鼠标点击位置距离可视窗口的坐标: 图示:在不拉 ...
- window的pageX,pageY,screenX,sreenY,clientX,clientY的区别描述
pageX,pageY,screenX,screenY,clientX,和clientY返回一个数,其指示物理"CSS像素"的数量的点是从参考点.事件点是用户单击的位置,参考点是左 ...
- HTMLElement属性:offsetParent,offsetLeft,offsetTop
HTMLElement.offsetParent - Web API 接口参考 | MDN HTMLElement.offsetParent 是一个只读属性,返回一个指向最近的(指包含层级上的最近)包 ...
最新文章
- SAP Spartacus本地启动时的白屏问题分析
- favicon.ico--网站标题小图片二三事
- 算法--二分查找--求平方根(循环法/递归法)
- java方法嵌套数据源切换_SpringBoot AOP方式实现多数据源切换的方法
- Office 2007 打开故障 The setup controller has encountered a problem during instll
- 403 for URL: http://www.terracotta.org/kit/reflector
- mysql 减函数_mysql时间加减函数
- 【机器学习】线性回归(最小二乘法实现)
- 国外浏览器无法访问apple ID页面,显示502 Bad Gateway,解决方法
- 仿苹果 底部弹窗 选择列表
- 【104】DeepL翻译器-二十六国语言机器翻译工具
- apple configurator 2 获取appstore ipa包
- 【SPARC】SPARC简介
- Ambari2.7+HDP3.0安装(基于Centos7)
- 关于DBSCAN图像上小圆圈和大圆圈的问题
- 北邮研究生《计算机网络原理》课程期末通过经验
- 【Rust日报】 2019-06-01:知乎开源了Rust实现的搜索引擎 rucene
- 字体信息 GetFontData
- 百度、高德离线地图SDK开发工具,局域网内离线地图开发环境
- 26岁转行软件测试,目前34了,分享一些我的经历和感受