JS 實現div元素的拖動

JS 實現div元素的拖動

功能描述:
在瀏覽器窗口有一個div盒子,用鼠標點擊盒子,按下進行拖動,當鼠標彈起時,該div就移動到此位置了。

實現代碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .div1{
            width: 100px;
            height: 100px;
            background-color: red;
            position: absolute;
            left: 0;
            top: 0;
        }
    </style>
    <script>
        //全局變量,標記是否鼠標按下
        var isMouseDown=false;
        //全局div
        var div;
        var leftX=0;
        var topY=0;

        window.onload=function(){

            //增加鼠標按下事件
            div=document.getElementById("div1");

            div.onmousedown=mouseDownAction;
            document.onmousemove=mouseMoveAction;
            div.onmouseup=mouseUpAction;
        }
        /**
         *鼠標按下
         */
        function mouseDownAction(e){
            isMouseDown=true;
            //記錄下鼠標點擊的時候的位置
            leftX= e.offsetX;
            topY= e.offsetY;
        }
        /**
         *鼠標移動
         */
        function mouseMoveAction(e){

            if(isMouseDown){
                div.style.left= e.pageX-leftX+"px";
                div.style.top= e.pageY-topY+"px";
            }
        }
        /**
         *鼠標彈起來
         */
        function mouseUpAction(e){
            isMouseDown=false;
        }
    </script>
</head>
<body>
<div class="div1" id="div1"></div>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章