先了解screenX,clientX,pageX概念

screenX: 鼠标位置相对于用户屏幕水平偏移量,而screenY就是垂直方向的,此时的参照点也就是原点是屏幕的左上角。clientX: 跟screenX相比就是将参照点改成了浏览器内容区域的左上角,该参照点不会随之滚动条的移动而移动。pageX: 参照点也是浏览器内容区域的左上角,但它会随着滚动条而变动

下面看看具体的各个对象中的这些属性

window对象

(1)window.screenX,window.screenY返回浏览器窗口左上角相对于当前屏幕左上角((0, 0))的水平距离和垂直距离,单位为像素。(2)window.innerHeight,window.innerWidth返回网页在当前窗口中可见部分的高度和宽度,包括滚动条的高度和宽度(3)window.outerHeight,window.outerWidth返回浏览器窗口的高度和宽度,包括浏览器菜单和边框(4)window.pageXOffset,window.pageYOffset返回页面的水平垂直滚动距离

Screen对象

availHeight     返回屏幕的高度(不包括Windows任务栏)availWidth  返回屏幕的宽度(不包括Windows任务栏)height  返回屏幕的总高度width   返回屏幕的总宽度

Element对象盒状模型相关属性

(1)Element.clientHeight,Element.clientWidth返回元素的可见高度和宽度,计算公式:clientHeight = topPadding + bottomPadding+ height - scrollbar.height(2)Element.clientLeft,Element.clientTop元素节点左边框(left border)的宽度,网页元素顶部边框的宽度,这两个属性包括滚动条的宽度,但不包括Margin和Padding。(3)Element.offsetHeight,Element.offsetWidth 返回元素的高度和宽度,计算公式:offsetHeight = clientHeight + 滚动条 + 边框(4)Element.offsetLeft,Element.offsetTop 返回元素的水平和垂直位移默认是参照body元素,当然也可以设置position:relative来改变属性(5)Element.scrollHeight,Element.scrollWidth 返回元素的整体高度和宽度,计算公式:scrollHeight = topPadding + bottomPadding + 内容高度(6)Element.scrollLeft,Element.scrollTop 返回元素左边缘和右边缘与视图之间的距离

event对象

(1)event.clientX、event.clientY鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性(2)event.screenX、event.screenY鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性(3)event.pageX、event.pageY类似于event.clientX、event.clientY,但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性,但得到了广泛支持。IE事件中没有这2个属性(4)event.offsetX、event.offsetY鼠标相对于事件源元素(srcElement)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。

转载于:https://www.cnblogs.com/YeChing/p/6249473.html

理解screenX clientX pageX概念相关推荐

  1. screenX clientX pageX的区别

    screenX clientX pageX概念 screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角. clientX:跟scree ...

  2. offsetLeft理解以及MouseEvent接口中的screenX,clientX,pageX,offsetX区别.

    背景 最近在做一款基于canvas的画板插件,开发过程中的画笔功能就会使用很多关于鼠标位置的属性:screenX/Y,clientX/Y,pageX/Y,offsetX/Y,以及节点offsetLef ...

  3. screenX,clientX,pageX,offsetX,的区别

    2019独角兽企业重金招聘Python工程师标准>>> event.screenX.event.screenY 鼠标相对于用户显示器屏幕左上角的X,Y坐标.标准事件和IE事件都定义了 ...

  4. 事件坐标:screenX,clientX,pageX,offsetX的区别

    e.screenX/e.screenY: 事件发生时鼠标相对于电脑屏幕的坐标.e.screenX,e.screenY的最大值不会超过屏幕分辨率. e.clientX/e.clientY: 事件发生时鼠 ...

  5. clientX、offsetX、screenX、pageX的区别

    一.概念总结 1.event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性.cl ...

  6. Js event对象offsetX, clientX, pageX, screenX, layerX, x区别(图解)

    简介 因为实际开发中,很少用到event对象的这几个值,每当写的时候又记不清,然后就要浪费时间去查找准确的资料,很是不爽,所以就做个记录~话不多说,直接上图(ps:图是网上找的,如果侵权,可立马删除) ...

  7. event对象的offsetX, clientX, pageX, screenX

    现在需要对event对象的几大与坐标有关的属性做一个总结,以便于认识 offsetX|offsetY offsetX/Y获取到是触发点相对被触发dom的左上角距离(包括padding在内,不包括bor ...

  8. 图解Js event对象offsetX, clientX, pageX, screenX, layerX, x区别

    通过 3 张图和 1 张表格,轻松区别 Javascript Event 对象中的offsetX, clientX, pageX, screenX, layerX, x等属性. 一.测试代码如下: & ...

  9. 理解系统底层的概念是多么重要

    理解系统底层的概念是多么重要                                --趋势科技邹飞评<程序员的自我修养>   关于<程序员的自我修养>这本书,最初是在 ...

最新文章

  1. 从摩尔定律到人工智能,指数定律释放人类潜能
  2. [译] Security Token 生态 — 项目指南
  3. POJ-1273(最大流-Augment Path,EK,BFS)
  4. bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量、bochs的System BIOS must end at 0xfffff错误、运行内核0.00版本
  5. IDEA 运行run 为灰色解决办法
  6. myeclipse mysql连接_MyEclipse连接MySQL数据库图文教程
  7. Hibernate注解开发-PO类注解配置
  8. IOS的Alamofire5.4高版本上传图片
  9. Apache Shiro第2部分–领域,数据库和PGP证书
  10. python实践项目(四)
  11. combox简单用法
  12. umask 文件预设权限掩码
  13. 微信小程序开发之十 —— 点击事件
  14. 关系模式无损分解的测试方法
  15. Python使用Regular入门
  16. 软件测试常见分辨率测试,兼容测试:常见的显示器分辨率
  17. python找到长度最长的单词长度,python中的正则表达式:查找长度为n或更长的单词...
  18. 作为泛娱乐圈专属域名,.fans岂能错过这匹年末综艺“黑马”?
  19. 关于裁判文书网的一些建议
  20. 独立产品灵感周刊 DecoHack #028 - 如何给你的项目取一个好名字

热门文章

  1. Spark内核之内存管理
  2. Andersen Global宣布扩大全球董事会规模
  3. 什么是虚拟机,虚拟机的作用是什么?
  4. Spring框架漏洞总结
  5. Git中Your branch is ahead of ‘origin/master‘ by x commits的解决办法
  6. CSS -- 颜色渐变
  7. IDEA 2019.1激活(转)
  8. Fortran编程——文件输入输出
  9. selenium实现chrome多开
  10. 托大的鬼雄——项羽不肯过江东还是根本没机会过江东?(转)