`

js实现div拖动

阅读更多
写道
http://blog.csdn.net/notlikegaoshou/article/details/6562636


http://zhidao.baidu.com/link?url=ePDc5C8v-kcewgZty7w_seg2kfkwU_zYxVJzoQgjYGcuo8yUPMZoIv0l4ndX2PbqRUe8I0Wur2pxb0cgULvsnLKs9bVPsBdVAp8kkwIYi2_
 
 
写道
为了实现纯js编写的div拖拽的功能,在网上找了一些资料但是还是感觉没有说到点子上去

个人觉得div的拖拽需要三个主要的事件

1.onmousedown鼠标按下事件

2.onmousemove鼠标移动事件

3.onmouseup鼠标按键抬起事件
 

<!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>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics