首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JS之clientX,clientY,screenX,screenY,offsetX,offsetY区别测试

首先需要知道clientX,clientY,screenX,screenY,offsetX,offsetY 是鼠标事件对象下的几个属性....之前也一直对这些属性搞的稀里糊涂,看文档上说的也是不太理解,反正看完一头雾水,所以自己动手亲自测试了一下;说一下自己的理解;clientX,clientY,screenX,screenY,offsetX...,offsetY 这几个属性是“鼠标事件对象”下的属性,所以必然是“鼠标事件”发生时候才会有意义; clientX:当鼠标事件发生时(不管是onclick,还是omousemove,onmouseover...下图可以看到当鼠标移动事件onmousemove发生的时候,在id为div的里面显示clientX,clientY,screenX,screenY,的值; ?...当我把鼠标移到div的右上角的时候,clientX为200,clientY为0; screenX为200,screenY为85,由此可知道 clientX是鼠标相对以浏览器有效区域的的X轴坐标, clientY

94040

javascript坐标:event.x、event.clientX、event.offsetX、event.screenX 用法

clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。...event.clientX返回事件发生时,mouse相对于客户窗口的X坐标,event.X也一样。...但是如果设置事件对象的定位属性值为relative,event.clientX不变,而event.X返回事件对象的相对于本体的坐标。...clientX:相对于客户区域的x坐标位置,不包括滚动条,就是正文区域。 offsetx:设置或者是得到鼠标相对于目标事件的父元素的内边界在x坐标上的位置。...返回事件发生时,mouse相对于客户窗口的X坐标 event.X也一样 但是如果设置事件对象的定位属性值为relative event.clientX不变 而event.X返回事件对象的相对于本体的坐标

1.6K30

2021-10-17 JS使模板元素进行移动(拖拽模板元素)

left,就需要想法计算top,left 1、第一步获取offsetX(Y) 如图说明: 点1、鼠标点击地方 点2、浏览器最左上角 线段3、初始状态下的整个目标元素的初始left 线段4、鼠标点击时的clientX...这就是我说的,具体业务得具体分析,我想点击header部分移动整个body,但是现在有个padding,通过e.clientX获取的值不会包含这个padding,导致如果直接使用这个e.clientX的话...所以计算offsetX是:offsetX = e.clientX - el.left (解释:鼠标初始点击时的位置 减去 元素本来的left值) 第二步,通过鼠标移动事件的e.clientX计算目前目标元素的...left值: 其实很简单:left = e.clientX - 第一步计算的offsetX 上面仅仅计算了left,top同样的道理。...when in mobile device`); return; } //offset is mouse click offset aim el // 通过计算而来:首次点击的clientX

2.4K20
领券