扫码关注官方订阅号
怎么记录鼠标按下时的坐标,紧接着移动的坐标,最后鼠标弹起的坐标
认证0级讲师
以下代码是我之前写的demo你是用js还是jQuery?jQuery的话可以参照这段代码(这段是zepto 其实跟jQuery一样):
//设置 手指拖拽进度滑块 的事件 function moveUp() { //开始按下手指事件 $(".runing_circle").on("touchstart", function (event) { move = true; event.preventDefault(); _x = event.touches[0].pageX - parseInt($(".runing_circle").css("left")); _y = event.touches[0].pageY; console.log(($("#aa").css("left"))); }) //移动手指事件 $(".runing_circle").on("touchmove", function (event) { event.preventDefault(); if (move) { x = event.touches[0].pageX - _x; $(".runing_circle").css("left", x); $(".runing_color").css("width", x); } console.log(22222); }) //松开手指事件 $(".runing_circle").on("touchend", function (event) { event.preventDefault(); move = false; console.log(33333); }) }
然后js的话参照下面这段代码
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf8"> <style type="text/css"> </style> <script type="text/javascript"> window.onload=function(){ var drag=document.getElementById("drag"); var flag=0; // var currentTop; drag.onmousedown=function(e){ flag=1; e=e||window.event; this.kTop=e.clientY-this.offsetTop;//如果不减去,则鼠标总是在原点 this.kLeft=e.clientX-this.offsetLeft; } drag.onmousemove=function(e){ if(flag==1){ e=e||window.event; drag.style.top=e.clientY-drag.kTop+"px"; drag.style.left=e.clientX-drag.kLeft+"px"; } } drag.onmouseup=function(){ flag=0; } } </script> </head> <body bgcolor="gray"> <p style="width:400px;height:300px;background:white;border:2px solid red;position: absolute;cursor:default;" id="drag"> </p> </body> </html>
监听鼠标事件mousedown,mousemove,mouseup,定义一个全局变量记录是否按下鼠标,mousemove的时候判断一下那个全局变量仔执行函数。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
以下代码是我之前写的demo
你是用js还是jQuery?
jQuery的话
可以参照这段代码(这段是zepto 其实跟jQuery一样):
然后js的话参照下面这段代码
监听鼠标事件mousedown,mousemove,mouseup,定义一个全局变量记录是否按下鼠标,mousemove的时候判断一下那个全局变量仔执行函数。