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>
    <style>
        #div1 {
            width100px;
            height100px;
            backgroundred;
            positionabsolute;
        }
    </style>
    <script>
        window.onload = function() {
            var oDiv = document.getElementById('div1');
            var disX = 0;
            var disY = 0;
            oDiv.onmousedown = function(ev) {
                var oEvent = ev || event;
                disX = oEvent.clientX - oDiv.offsetLeft;
                disY = oEvent.clientY - oDiv.offsetTop;
                // alert(disX);
                document.onmousemove = function(ev) {
                    var oEvent = ev || event;
                    var l = oEvent.clientX - disX;
                    var y = oEvent.clientY - disY;
                    if (l < 0) {
                        l = 0;
                    } else if (l > document.documentElement.clientWidth - oDiv.offsetWidth) {
                        l = document.documentElement.clientWidth - oDiv.offsetWidth;
                    }
                    if (y < 0) {
                        y = 0;
                    } else if (y > document.documentElement.clientHeight - oDiv.offsetHeight) {
                        y = document.documentElement.clientHeight - oDiv.offsetHeight;
                    }
                    oDiv.style.left = l + 'px';
                    oDiv.style.top = y + 'px';
                }

                document.onmouseup = function() {
                    document.onmousemove = null;
                    document.onmouseup = null;
                }
                return false;
            }
        }
    </script>
</head>

<body>
    <div id="div1">

    </div>
</body>

</html>
posted @ 2017-03-07 13:49  Mr_W_Blog  阅读(163)  评论(0编辑  收藏  举报