日期:2014-05-16  浏览次数:20365 次

js 实现鼠标拖动的div层
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        var mouseX, mouseY;
        var objX, objY;
        var isDowm = false;  //是否按下鼠标
        function mouseDown(obj, e) {
            obj.style.cursor = "move";
            objX = div1.style.left;
            objY = div1.style.top;
            mouseX = e.clientX;
            mouseY = e.clientY;
            isDowm = true;
        }
        function mouseMove(e) {
            var div = document.getElementById("div1");
            var x = e.clientX;
            var y = e.clientY;
            if (isDowm) {
                div.style.left = parseInt(objX) + parseInt(x) - parseInt(mouseX) + "px";
                div.style.top = parseInt(objY) + parseInt(y) - parseInt(mouseY) + "px";
                document.getElementById("span1").innerHTML = "x:" + div.style.top + "  " + "y:" + div.style.left;
            }
        }
        function mouseUp(e) {
            if (isDowm) {
                var x = e.clientX;
                var y = e.clientY;
                var div = document.getElementById("div1");
                div.style.left = (parseInt(x) - parseInt(mouseX) + parseInt(objX)) + "px";
                div.style.top = (parseInt(y) - parseInt(mouseY) + parseInt(objY)) + "px";
                document.getElementById("span2").innerHTML = "x:" + div.style.top + "  " + "y:" + div.style.left;
                mouseX = x;
                rewmouseY = y;
                div1.style.cursor = "default";
                isDowm = false;
            }
        }
    </script>
</head>
<body>
    <span id="span1"></span></br><span id="span2"></span></br>
    <div id="div1" style="background-color: Green; border: 1px solid red; height: 300px;
        top: 100px; left: 100px; width: 300px; position: absolute;" onmousedown="mouseDown(this,event)"
        onmousemove="mouseMove(event)" onmouseup="mouseUp(event)">
    </div>
</body>
</html>