怎么记录鼠标按下时的坐标,紧接着移动的坐标,最后鼠标弹起的坐标

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">
<div style="width:400px;height:300px;background:white;border:2px solid  red;position: absolute;cursor:default;" id="drag">
    

</div>

</body>
</html>

原生JS的话,主要使用 mousedown, mouseup, mousemove 事件来监听鼠标操作,代码如下:

var press = false;

// The mousedown event is fired when a pointing device button (usually a mouse button) is pressed on an element.
document.addEventListener('mousedown', function(e) {
    press = true;
    console.log('--> Event mousedown x: ' + e.clientX + ', y: ' + e.clientY);
});

// The mousemove event is fired when a pointing device (usually a mouse) is moved while over an element.
document.addEventListener('mousemove', function(e) {
    if (!press) return;
    console.log('--> Event mousemove x: ' + e.clientX + ', y: ' + e.clientY);
});

// The mouseup event is fired when a pointing device button (usually a mouse button) is released over an element.
document.addEventListener('mouseup', function(e) {
    press = false;
    console.log('--> Event mouseup x: ' + e.clientX + ', y: ' + e.clientY);
});
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值