在一个指定的div中拖拽

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
    #div1
    {
        width: 100px;
        height: 100px;
        background: red;
        position: absolute;
    }
        #div2
        {
            width: 400px;
            height: 300px;
            background: #cccccc;
        }
    </style>
    <script type="text/javascript">
        window.onload = function ()
        {
        var oDiv= document.getElementById('div1');
            var oDiv2 = document.getElementById('div2');
            var disX = 0;
            var disY =0;
            oDiv.onmousedown = function (ev)
            {
                var oEvent = ev||event;

               disX =  oEvent.clientX-oDiv.offsetLeft;
                disY = oEvent.clientY-oDiv.offsetTop;
                document.onmousemove = function (ev)
                {
                    var oEvent = ev||event;
                    var l = oEvent.clientX-disX;
                    var t = oEvent.clientY-disY;
                    if(l<oDiv2.offsetLeft)
                    {
                        l = oDiv2.offsetLeft;
                    }
                    else if(l>oDiv2.offsetWidth-oDiv.offsetWidth+oDiv2.offsetLeft)
                    {
                        l = oDiv2.offsetWidth-oDiv.offsetWidth+oDiv2.offsetLeft;
                    }
                    if(t<oDiv2.offsetTop)
                    {
                        t=oDiv2.offsetTop;
                    }
                    else if(t>oDiv2.offsetHeight-oDiv.offsetHeight+oDiv2.offsetTop)
                    {
                        t =oDiv2.offsetHeight -oDiv.offsetHeight+oDiv2.offsetTop;
                    }
                    oDiv.style.left = l +'px';
                    oDiv.style.top =t +'px';
                };
                document.onmouseup = function ()
                {
                    document.onmousemove = null;
                    document.onmouseup = null;
                };

            }
        }


    </script>
</head>
<body>
<div id="div2">
    <div id="div1"></div>
</div>

</body>
</html>

 

转载于:https://www.cnblogs.com/zhuni/p/4802642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值