教程: clientX 事件属性 http://www.runoob.com/jsref/event-clientx.html clientY 事件属性 http://www.runoob.com/...jsref/event-clienty.html 基本定义 clientX 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(或客户区)的水平坐标。...clientY 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(客户区)的垂直坐标。 客户区指的是当前窗口。 ?...{ //获取右键点击坐标 var x = e.clientX; var y = e.clientY
首先需要知道clientX,clientY,screenX,screenY,offsetX,offsetY 是鼠标事件对象下的几个属性....之前也一直对这些属性搞的稀里糊涂,看文档上说的也是不太理解,反正看完一头雾水,所以自己动手亲自测试了一下;说一下自己的理解;clientX,clientY,screenX,screenY,offsetX...鼠标事件”发生时候才会有意义; clientX:当鼠标事件发生时(不管是onclick,还是omousemove,onmouseover等),鼠标相对于浏览器(这里说的是浏览器的有效区域)x轴的位置; clientY...下图可以看到当鼠标移动事件onmousemove发生的时候,在id为div的里面显示clientX,clientY,screenX,screenY,的值; ?...当我把鼠标移到div的右上角的时候,clientX为200,clientY为0; screenX为200,screenY为85,由此可知道 clientX是鼠标相对以浏览器有效区域的的X轴坐标, clientY
用来判断是鼠标的哪个键操作的 左键对应的值为 0、1、1 中键对应的值为 1、4、2 右键对应的值为 2、2、3 timeStamp 从页面打开开始到触发事件的时间 以下内容为坐标值的说明: clientX和clientY...与x,y clientX和clientY与x,y一样的,都是客户区域坐标,指鼠标的坐标,以浏览器显示区域的左上角开始,x,y是新浏览器支持 以下截图打印的结果都是div2元素的左上顶点(从边框开始)的位置坐标...pageX, pageY pageX, pageY相对页面左上角的距离 screenX screenY screenX screenY 相对屏幕左上角的位置 总结: clientX和clientY
getOffset(e).offsetY : e.offsetY ; cy = e.clientY; cx = e.clientX; h = $("#movedemo").height();...>50){ $("#movedemo").css("height",h+cy-e.clientY).css("top",e.clientY-y); } break;...>50){ $("#movedemo").css("height",h+cy-e.clientY).css("top",e.clientY-y); } if(w-cx+e.clientX...>50){ $("#movedemo").css("height",h+cy-e.clientY).css("top",e.clientY-y); } break;...>50){ $("#movedemo").css("height",h-cy+e.clientY); } break; } }); }); } function
diffX = event.clientX - target.offsetLeft; diffY = event.clientY...dragging.style.left = event.clientX - diffX + "px"; dragging.style.top = event.clientY...event.touches[0].clientX - target.offsetLeft; diffY = event.touches[0].clientY...- diffY + "px"; console.log(event.touches[0].clientX, event.touches[0].clientY...{ type: "dragend", target: dragging, x: event.changedTouches[0].clientX, y: event.changedTouches[0].clientY
text-area" @touchstart="start" @touchend="end"> data() { return { startData: { clientX: 0, clientY...start(e){ this.startData.clientX=e.changedTouches[0].clientX; this.startData.clientY...=e.changedTouches[0].clientY; }, end(e){ // console.log(e) const subX=e.changedTouches[0]....clientX-this.startData.clientX; const subY=e.changedTouches[0].clientY - this.startData.clientY;
pageY:鼠标点击位置相对于网页左上角的垂直平偏移量,也就是 clientY + 垂直滚动条滚动的距离。 坐标系上某一个元素的pageX/pageY 不会 随着滚动条滚动而改变。...clientY:鼠标点击位置相对于浏览器可视区域的垂直偏移量(不会计算垂直滚动的距离)。 坐标系上某一个元素的clientX/clientY 会 随着滚动条滚动而改变。...})屏幕坐标转换标准设备坐标在项目开发中,我们可以用.clientX、.clientY计算标准设备坐标,也可以用.offsetX、.offsetY计算标准设备坐标。...用.clientX、.clientY计算canvas画布屏幕坐标 用.offsetX、.offsetY可以直接表示canvas画布屏幕坐标,但是如果用.clientX、.clientY表示,这时候要注意...,把.clientX、.clientY转化为以canvas画布左上角为原点的坐标。
我们先尝试一下clientX 和 clientY canvas.onclick = (e)=>{ console.log(e.clientX...) console.log(e.clientY) }  点击了很多次,发现这个坐标可以检测到我们鼠标点击的位置,于是接下来,我们需要...script> canvas.onclick = (e)=>{ console.log(e.clientX) console.log(e.clientY...script> canvas.onclick = (e)=>{ console.log(e.clientX) console.log(e.clientY...50); canvas.onclick = (e) =>{ console.log(e.clientX) console.log(e.clientY
if(moveFlag){ divObj.style.left=moveEvent.clientX-mwidth+"px"; divObj.style.top=moveEvent.clientY-mheight...在拖拽时将修正后的光标坐标传给X、Y: X=moveEvent.clientX-mwidth; Y=moveEvent.clientY-mheight; ?...1000){ divObj.style.left=1000 - divObj.offsetWidth+"px"; X=1000 - divObj.offsetWidth; }if(moveEvent.clientY...+"px";//// 将鼠标坐标传给Canvas中的图像 X=moveEvent.clientX-mwidth; Y=moveEvent.clientY-mheight;////...divObj.style.left=1000 - divObj.offsetWidth+"px"; X=1000 - divObj.offsetWidth; } if(moveEvent.clientY
(ele.style.left, 10) + clientX - x0}px`; ele.style.top = `${parseFloat(ele.style.top, 10) + clientY...- x0}px`; ele.style.top = `${parseFloat(ele.style.top, 10) + clientY - y0}px`; x0 =...clientX; y0 = clientY; }; document.addEventListener("mousemove", handleMove);...let x0 = e.clientX || e.touches[0].clientX; let y0 = e.clientY || e.touches[0].clientY; const...clientY, target }) => {} // ...
== true) { this.isDragging = true this.lastPosX = evt.clientX this.lastPosY = evt.clientY...var vpt = this.viewportTransform; vpt[4] += e.clientX - this.lastPosX vpt[5] += e.clientY...this.lastPosY this.requestRenderAll() this.lastPosX = e.clientX this.lastPosY = e.clientY...- this.lastPosY this.requestRenderAll() this.lastPosX = e.clientX this.lastPosY = e.clientY...刷新完画布,就把上一个点(x和y坐标)改成最新的:this.lastPosX = e.clientX 和 this.lastPosY = e.clientY ,给下次移动鼠标时提供一个参考值,方便计算。
swipe-direct-com", data() { return { // 记录开始位置 startData: { clientX: "", clientY...距离可视区域左上角 左边距 和 上边距 this.startData.clientX = e.changedTouches[0].clientX; this.startData.clientY... = e.changedTouches[0].clientY; }, // 当抬起来的时候 fingerend(e) { // 当前位置 减去 按下位置 计算 距离...subX = e.changedTouches[0].clientX - this.startData.clientX; const subY = e.changedTouches[0].clientY... - this.startData.clientY; if (subY > this.updDistance || subY < -this.updDistance) { if
|| event; var oDiv = document.getElementById('div1'); if( oEvent.clientX<350&&oEvent.clientY...<350){ oDiv.style.left = oEvent.clientX + 'px'; oDiv.style.top = oEvent.clientY + 'px';...oEvent=ev||event; var oDiv=document.getElementById('div2'); if( oEvent.clientX<350&&oEvent.clientY...<750){ oDiv.style.left=oEvent.clientX+'px'; oDiv.style.top=oEvent.clientY+'px';
new Date().getTime() this.basicdata.start.x = e.clientX this.basicdata.start.y = e.clientY...} else { this.basicdata.end.x = e.clientX this.basicdata.end.y = e.clientY...new Date().getTime() this.basicdata.start.x = e.clientX this.basicdata.start.y = e.clientY...} else { this.basicdata.end.x = e.clientX this.basicdata.end.y = e.clientY...} else { this.basicdata.end.x = e.clientX this.basicdata.end.y = e.clientY
document.getElementById('btn1'); pop.style.left = event.clientX + 'px'; pop.style.top = event.clientY...document.getElementById('btn1'); pop.style.left = event.clientX + 'px'; pop.style.top = event.clientY...event.preverntDefault(); event.stopPropagation(); this.showPop(event.clientX, event.clientY...); //将event对象要传递的值明确传参 }, showPop: function(clientX, clientY){ var pop = document.getElementById...('btn1'); pop.style.left = clientX + 'px'; pop.style.top = clientY + 'px'; pop.className
事件对象可以拿到 pageY、clientY、offsetY,分别代表到点击的位置到文档顶部,到可视区域顶部,到触发事件的元素顶部的距离。 还有个 screenY,是拿到到屏幕顶部的距离。...', e.clientY) console.log('box offsetY', e.offsetY); console.log('box screenY', e.screenY);...', e.clientY) console.log('box2 offsetY', e.offsetY); console.log('box2 screenY', e.screenY...getBoundingClientRect().top; console.log('box pageY', e.pageY); console.log('box clientY', e.clientY...这里 clientY 和 getBoundingClientRect().top 也要区分下: 一个是元素距离可视区域顶部的距离,一个是鼠标事件触发位置到可视区域顶部的距离。
拖拽实现 始拖动时:获取到接触点相对于整个视图区的坐标 clientX,clientY;获取元素距离视图上侧和左侧的距离 initTop, initLeft;计算接触点距离元素上侧和左侧的距离 elTop...=clientY-initTop, elLeft=clientX-initLeft; 拖动过程中:通过 currTop=clientY-elTop, currLeft=clientX-elLeft 实时获取元素距离视图上侧和左侧的距离值...顺着这个思路走下去,我们知道: oldIndex:元素在数组中的初始索引index; elHeight:单个元素块的高; currTop=clientY-elTop:元素在拖动过程中距离可视区上侧距离;...; // 计算出接触点距离元素顶部的距离 elTop = e.touches[0].clientY - initTop;},touchMove(index, item, e){ //...,区别于移动端的 e.touches[0].clientX, e.touches[0].clientY。
const { left, top } = drag.getBoundingClientRect(); initialX = e.clientX - left; initialY = e.clientY...if (isDrag) { drag.style.left = `${e.clientX - initialX}px`; drag.style.top = `${e.clientY...e.target.getBoundingClientRect(); const clickOffsetX = e.clientX - left; const clickOffsetY = e.clientY...moveEvent => ({ x: moveEvent.clientX - clickOffsetX, y: moveEvent.clientY...moveEvent => ({ x: moveEvent.clientX - clickOffsetX, y: moveEvent.clientY
function(event) { isMove = true; //x = event.clientX; //y = event.clientY...//'left': (event.clientX - (x-offx) ) + 'px', //'top': (event.clientY...+ 'px' 'left': (event.clientX - (0) ) + 'px', 'top': (event.clientY
领取专属 10元无门槛券
手把手带您无忧上云