js实现一个小的div在一个大的div的范围内拖动

HTML:

<div id="container">

        <div id="box"></div>

 </div>

CSS:

 #container {

            width: 500px;

            height: 500px;

            border: 3px solid red;

            position: relative;

        }

        #box {

            width: 100px;

            height: 100px;

            background-color: rgb(59, 149, 227);

            position: absolute;

        }

<script>

 var moves = document.getElementById('box')

        var x, y

        moves.onmousedown = function (event) {

            x = event.offsetX

            y = event.offsetY

            document.addEventListener('mousemove', moveS)

            document.addEventListener('mouseup', function () {

                document.removeEventListener('mousemove', moveS)

            })

        }

        function moveS(event) {

            let moveX = event.pageX - x

            let moveY = event.pageY - y -2000

            if (moveX >= 400) {

                moveX = 400

            }

            if (moveX < 0) {

                moveX = 0

            }

            if (moveY >= 400) {

                moveY = 400

            }

            if (moveY < 0) {

                moveY = 0

            }

            moves.style.top = moveY+'px'

            moves.style.left = moveX+'px'

        }

</script>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值