JavaScript 方块拖拽简单函数

//JavaScript 方块拖拽简单函数
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div style="width: 100px;height:100px;background:red;position:absolute;left:0;top:0;"></div>
    <script>
        /*
        简单的方块拖拽函数,一点击可以移动方块移动,鼠标点完后,方块不移动3
        */
        function drag(elem){
        var disX,
            disY;

        elem.onmousedown = function(e){

            disX = e.pageX - parseInt(elem.style.left);  //disX 为鼠标x轴位置到方块的最左边的距离
            disY = e.pageY - parseInt(elem.style.top);

            /*鼠标点击事件,document改为div也行,但是会出现鼠标一些小问题,自行测试*/
            document.onmousemove = function(e){
                var event = e|| window.event;       //解决event(事件) 在不同浏览器的兼容性问题
                
                elem.style.left = event.pageX -disX +"px";  //调整方块的left值 
            	 // -disX 是为了使鼠标不会在一点击就在原地而不是一点击鼠标,方块的左上角就立刻定位到鼠标上
            	 
                elem.style.top = event.pageY -disY +"px";   //道理同上
            }

            /*鼠标点完,使onmousemove取消*/    
            document.onmouseup = function(){
                    document.onmousemove = null;       
                }
            }
        }

        var div = document.getElementsByTagName("div")[0]; 
        drag(div);
    </script>
    
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值