js实现鼠标拖拽盒子

 <style>
        #box {
            width: 50px;
            height: 50px;
            background-color: #e74c3c;
            position: absolute;
        }

    </style>
</head>

<body>
    <!-- 定义一个盒子 -->
        <div id="box"></div>
    <script>
        /* 获取box的节点元素 */
        var box = document.getElementById('box')
            /* 获取父盒子 */
        var plus_box = document.getElementById('plus_box');
        /* 定义一个变量 */
        var flag = false;
        /* 定义两个值,保存鼠标按下时初始值 */
        var p_left = 0,
            p_top = 0;
        /* 绑定鼠标按下 */
        box.onmousedown = function(e) {
                flag = true
                    /* 定义两个值,保存鼠标按下时位置 */
                p_left = e.offsetX;
                p_top = e.offsetY;
            }
            /* 鼠标抬起 */
        box.onmouseup = function() {
                flag = false
            }
            /*    var pl = plus_box.offsetLeft
               var pt = plus_box.offsetTop */
            /* 鼠标移动 */
        document.onmousemove = function(e) {
            if (!flag) {
                return;
            }
            /* 求坐标点 */
            var x = e.pageX - p_left;
            var y = e.pageY - p_top;
            /* 将坐标赋值给盒子 */
            box.style.left = x + 'px';
            box.style.top = y + 'px';
           
        }
    </script>
</body>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值