首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js获取鼠标当前位置坐标

2017-03-01 10:08:42 在页面中获取鼠标坐标通常有三种方式,这三种方式各有不同,所的的值也是不一样的。  首先是相对于页面的pageX和pageY。...这是一个IE特有的属性,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值 相对于坐标系的layerX/layerY。...FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后...完全支持所有属性.其中(offsetX和layerX都是以border为参考点) 下面这个是获取相对于屏幕的坐标 document.onmousemove = function(e) { e =

14.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

Fabric.js 拖放元素进画布

解4:移动画布我在 《Fabric.js 拖拽平移画布》 里讲解过。 解5:画布的左上角不一定在body的左上角,也就是鼠标当前位置可能和画布对应的坐标不一样,需要通过加减法计算一下。...解6:Fabric.js 提供了一个方法可以将鼠标当前坐标转换为画布对应的真实坐标,这个方法叫 restorePointerVpt 。 动手 我分几个步骤慢慢实现上述功能。...我的做法是通过 canvas 元素的 getBoundingClientRect() 方法返回的对象中获取到 top 和 left 两个数据。...然后通过鼠标当前坐标减去 canvas 距离页面顶部或左侧的距离,计算出鼠标点击画布的真实坐标。...但画布有可能拖拽和缩放,所以需要通过 Fabric.js 提供的 restorePointerVpt() 方法将坐标转换一下。 于是有了下面的代码。 // 省略部分代码......

3.1K30

scrollwidth和clientwidth_vue监听页面滚动

本文并非原创,只是真心觉得好,特别是图解的很到位,我在js中经常会用到,就记下来,与大家分享。...LEFT: 为从左向右移的位置,即挂件距离屏幕左边缘的距离; clientLeft 返回对象的offsetLeft属性值和到当前窗口左边的真实值之间的距离 offsetLeft 返回对象相对于父级对象的布局或坐标的...left值,就是以父级对象左上角为坐标原点,向右和向下为X、Y轴正方向的x坐标 pixelLeft 设置或返回对象相对于窗口左边的位置 scrollWidth 是对象的实际内容的宽,不包边线宽度...,会随对象中内容的多少改变(内容多了可能会改变对象的实际宽度)。...offsetLeft:Html元素相对于自己的offsetParent元素的位置 scrollLeft:返回和设置当前横向滚动务的坐标值 <input type=”button” value=”点一下

1.7K10

使用 Mapbox 在 Vue 中开发一个地理信息定位应用

我们的应用程序将具有以下基本功能: 允许用户访问带有标记的交互式地图显示; 允许用户随意移动标记,同时显示坐标; 根据用户请求返回基于文本的位置或位置坐标。...Mapbox GL JS 根据页面上的这些参数初始化我们的地图,并返回一个 Map 对象给我们。 Map 对象引用我们页面上的地图,同时公开使我们能够与地图交互的方法和属性。...这会根据提供的参数初始化地理编码器,并返回一个对象,暴露给方法和事件。 accessToken 属性指的是我们的 Mapbox 访问令牌,mapboxgl 指的是当前使用的地图库。...我们通过使用 dragend 事件监听器实现了这一点,并且我们用当前坐标更新了我们的 center 属性。 让我们更新模板以显示我们的交互式地图和转发地理编码器。...我们在这里根据当前值显示坐标。 为了提升我们应用的美感,在 index.html 文件的 head 部分添加以下 CSS 文件。 将此文件放在公用文件夹中。

42810

Jquery的属性操作和DOM操作

接受选择器的当前坐标 2. position() 方法返回匹配元素相对于父元素的位置(偏移)注:只能获取不能设置 在CSS定位布局中,如果我们对父元素设置position:relative,我们就可以使用...position:absolute来设置子元素相对于父元素的定位距离 l  Position()函数用于返回当前匹配元素相对于其被定位的祖辈元素的偏移,也就是相对于被定位的祖辈元素的坐标。...l  该函数返回一个坐标对象,该对象有一个left属性和top属性。Position()中的坐标参考系是以被定位的祖辈元素的左上角为原点(0,0),向右为正,向下为正。...l  如果当前元素的祖辈元素全部都是默认定位(static),那么该函数返回的偏移位置与offset()函数相同。...l  如果当前JQ对象匹配多个元素,返回坐标时,postion()函数只以其中第一个匹配的元素为准。

1.3K20

JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」

常用: JS 获取浏览器窗口大小 // 获取窗口宽度 if (window.innerWidth) winWidth = window.innerWidth; else if ((document.body...LEFT: 为从左向右移的位置,即挂件距离屏幕左边缘的距离; clientLeft 返回对象的offsetLeft属性值和到当前窗口左边的真实值之间的距离 offsetLeft 返回对象相对于父级对象的布局或坐标的...left值,就是以父级对象左上角为坐标原点,向右和向下为X、Y轴正方向的x坐标 pixelLeft 设置或返回对象相对于窗口左边的位置 scrollWidth 是对象的实际内容的宽,不包边线宽度...,会随对象中内容的多少改变(内容多了可能会改变对象的实际宽度)。...offsetLeft:Html元素相对于自己的offsetParent元素的位置 scrollLeft:返回和设置当前横向滚动务的坐标值 <input type=”button” value=”点一下

6.6K20

前端入门6-JavaScript客户端api&jQuery

createElement(tag) 创建指定标签的元素节点 craeteTextNode(text) 创建指定文本内容的Text对象 location 返回当前文档地址的Location对象 API...但每个标签实际上都有具体的实现类,比如 body 对应 HTMLBodyElement,script 对应 HTMLScriptElement,具体实现类由这个标签独有的属性和方法。...cloneNode(boolean) 拷贝一份当前的元素,返回新的HTMElement对象,参数设置是否拷贝当前元素的子元素 isEqualNode(HTMLElement) 判断指定元素与当前是否相同...事件触发时鼠标相对于元素视口的Y坐标 screenX 事件触发时鼠标相对于屏幕坐标系的X坐标 screenY 事件触发时鼠标相对于屏幕坐标系的Y坐标 shiftKey 事件触发时是否有点击shift键...jquery2 text() 会返回当前元素内的所有文本内容,包括子孙后代元素所包装的文本内容。

6K40

移动端 模拟手机联系人触摸A~Z导航

HTML5学堂:今天要与大家分享一个当前移动端很常见的效果,类似于手机联系人的快速导航功能,即当触摸a~z的字母时,能够相对应的显示文字。...想法是好的,但是在实际的操作中发现,虽然touchmove会触发多次,但是并不能够实时获取e.target(事件目标对象),这也就使得上面的这种思路成了空想。...实现触摸a~z导航(模拟手机联系人) 当前能够想到的实现方法有两种(也均测试无误) 第一种方法:手指滑动的时候,判断手指滑动的竖向位置,如果到达相应标签的位置(由于标签是fixed定位模式,因此可以拿到每个标签...elementFromPoint()返回给定坐标处所在的元素。是个在目前而言,兼容性不错的一种方法,具体代码如下: var con = document.getElementById

1.5K50

html5简单拖拽实现自动左右贴边+幸运大转盘

最顶部的距离:obj.offsetTop(在元素的包含元素不含滚动条的情况下) 26 某个元素的左边界到body最左边的距离:obj.offsetLeft(在元素的包含元素不含滚动条的情况下) 27 返回当前元素的上边界到它的包含元素的上边界的偏移量...:obj.offsetTop(在元素的包含元素含滚动条的情况下) 28 返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offsetLeft(在元素的包含元素含滚动条的情况下) js获取Html...元素的实际宽度高度: 1、#div1.style.width 2、#div1.offsetWidth    宽高都写在样式表里,就比如#div1{width:120px;}。...clientX:触摸目标在视口中的x坐标。 clientY:触摸目标在视口中的y坐标。 identifier:标识触摸的唯一ID。 pageX:触摸目标在页面中的x坐标。...(触摸点相对于页面的位置) pageY:触摸目标在页面中的y坐标。 screenX:触摸目标在屏幕中的x坐标。 screenY:触摸目标在屏幕中的y坐标。 target:触目的DOM节点目标。

4.2K50

10-移动端开发教程-移动端事件

2. screenX 触摸点相对于屏幕左边缘的 x 坐标。 3. screenY 触摸点相对于屏幕上边缘的 y 坐标。 4. clientX 触摸点相对于浏览器的 viewport左边缘的 x 坐标。...5. clientY 触摸点相对于浏览器的 viewport上边缘的 y 坐标。不会包括上边的滚动距离。 6. pageX 触摸点相对于 document的左边缘的 x 坐标。...Zepto.js的touch模块中封装了手势相关的代码。...hammer.js hammer提供了不仅仅tap、swipe等事件,还提供了:pan(平移)、pinch类(捏拿缩放)、 press类(按住)、 rotate类(旋转)类手势支持, hammer.js...移动端点击穿透问题 如果某个返回按钮的位置,恰好在要返回的这个页面的带有href属性的a标签的范围内,在点击返回按钮后,页面快速切换到有a标签的页面,300ms后触发了click事件,从而触发了a标签的意外跳转

6.7K80

手势魅力-设置一个触摸菜单

(touchstart,touchmove,touchend),触摸属性,以及实现侧边栏动画,在处理移动端点击,拖动,滑动时,是不得要考虑用户的触摸手势,判断手指在页面上到底是点击还是滑动的,利用原生js...所以,在我转向实际的代码之前,在那里有一些我想要经历的事情,所以请耐心等待 HTML结构 <!...触摸属性列出当前在屏幕上的所有手指: PageX:返回手指放置在DOM中的x坐标。从左边开始计算,如果适用,则考虑水平滚动 PageY:返回手指放置在DOM中的y坐标。...我使用 moveX是因为我做了实际的动画。...当菜单打开时,它可以关闭或保持打开状态 - 与动画一起 - 返回之前的位置 如果它关闭了,那么它可以打开或者保持关闭状态,也可以在动画返回之前 if ((translateX < (-menuWidth

1.8K40

10-移动端开发教程-移动端事件

2. screenX 触摸点相对于屏幕左边缘的 x 坐标。 3. screenY 触摸点相对于屏幕上边缘的 y 坐标。 4. clientX 触摸点相对于浏览器的 viewport左边缘的 x 坐标。...5. clientY 触摸点相对于浏览器的 viewport上边缘的 y 坐标。不会包括上边的滚动距离。 6. pageX 触摸点相对于 document的左边缘的 x 坐标。...5.3 zepto的手势相关事件 Zepto.js 是一个轻量级的针对现代高级浏览器的JavaScript库, 它适配了jQuery的大部分api,也就是jQuery怎么用,Zepto.js就怎么用。...Zepto.js的touch模块中封装了手势相关的代码。...移动端点击穿透问题 如果某个返回按钮的位置,恰好在要返回的这个页面的带有href属性的a标签的范围内,在点击返回按钮后,页面快速切换到有a标签的页面,300ms后触发了click事件,从而触发了a标签的意外跳转

6.3K70

拖拽神器React DnD你真的了解了吗?

通过它可以获取当前的拖拽信息,比如可以获取当前被拖拽的项目及其类型,当前和初始坐标和偏移,以及它是否已被删除。 component:是组件的实例。...当拖拽开始的时候,这个方法就会被调用,这个方法必须要返回一个js 对象来描述被拖拽的元素,比如返回一个 { id: props.id },通过monitor.getItem() 方法可以获取到返回结果。...通过它可以获取当前的拖拽信息,比如可以获取当前被拖拽的项目及其类型,当前和初始坐标和偏移,以及它是否已被删除。 component:是组件的实例。...如果这个方法返回的是一个js对象,在 drag source 的 endDrag 方法里面,调用 monitor.getDropResult() 可以获得返回结果。...方法必须返回一个对象,以前在 drop 方法中获取到当前被拖拽组件的信息。

1.4K20
领券