美文网首页
鼠标拖拽1

鼠标拖拽1

作者: 虎三呀 | 来源:发表于2018-02-08 11:24 被阅读0次
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                
                #box1{
                    width: 100px;
                    height: 100px;
                    background-color: red;
                    position: absolute;
                }
                
                #box2{
                    width: 100px;
                    height: 100px;
                    background-color: yellow;
                    position: absolute;
                    
                    left: 200px;
                    top: 200px;
                }
                
            </style>
            
            <script type="text/javascript">
                
                window.onload = function(){
                    /*
                     * 拖拽box1元素
                     *  - 拖拽的流程
                     *      1.当鼠标在被拖拽元素上按下时,开始拖拽  onmousedown
                     *      2.当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
                     *      3.当鼠标松开时,被拖拽元素固定在当前位置   onmouseup
                     */
                    
                    //获取box1
                    var box1 = document.getElementById("box1");
                    //为box1绑定一个鼠标按下事件
                    //当鼠标在被拖拽元素上按下时,开始拖拽  onmousedown
                    box1.onmousedown = function(event){
                        event = event || window.event;
                        //div的偏移量 鼠标.clentX - 元素.offsetLeft
                        //div的偏移量 鼠标.clentY - 元素.offsetTop
                        var ol = event.clientX - box1.offsetLeft;
                        var ot = event.clientY - box1.offsetTop;
                        
                        
                        //为document绑定一个onmousemove事件
                        document.onmousemove = function(event){
                            event = event || window.event;
                            //当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
                            //获取鼠标的坐标
                            var left = event.clientX - ol;
                            var top = event.clientY - ot;
                            
                            //修改box1的位置
                            box1.style.left = left+"px";
                            box1.style.top = top+"px";
                            
                        };
                        
                        //为document绑定一个鼠标松开事件
                        document.onmouseup = function(){
                            //当鼠标松开时,被拖拽元素固定在当前位置   onmouseup
                            //取消document的onmousemove事件
                            document.onmousemove = null;
                            //取消document的onmouseup事件
                            document.onmouseup = null;
                        };
                    };
                    
                    
                    
                    
                };
                
                
            </script>
        </head>
        <body>
            <div id="box1"></div>
            
            <div id="box2"></div>
        </body>
    </html>
    
    
    

    相关文章

      网友评论

          本文标题:鼠标拖拽1

          本文链接:https://www.haomeiwen.com/subject/qdtttftx.html