zoukankan      html  css  js  c++  java
  • 用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>
            #box{
                position: absolute;
                width: 200px;
                height: 200px;
                background: red;
            }
        </style>
        <script>
            window.onload=function(){
                var drag=new Drag("box")
                drag.init();
            }
            //构造函数Drag
            function Drag(id){
                this.obj=document.getElementById(id);
                this.disX=0;
                this.disY=0;
            }
            Drag.prototype.init = function (){
                var me = this;
                this.obj.onmousedown = function (e){  
                    var e = e || event;
                    me.mouseDown(e);
                    // 阻止默认事件
                    return false;
                };
            };
            Drag.prototype.mouseDown=function(e){          
                var me=this;
                this.disX = e.clientX - this.obj.offsetLeft;
                this.disY = e.clientY - this.obj.offsetTop;
                document.onmousemove=function(e){
                    var e=e||window.event;
                    me.mouseMove(e);
                };
                document.onmouseup = function (){
                me.mouseUp();
             }
            }
            Drag.prototype.mouseMove = function (e){
                this.obj.style.left = (e.clientX - this.disX) + 'px';
                this.obj.style.top = (e.clientY - this.disY) + 'px';
            };
            Drag.prototype.mouseUp = function (){
                document.onmousemove = null; //如果不卸载这个事件的话,鼠标抬起后,移动鼠标,div依然会移动。
                document.onmouseup = null;
            };
  • 相关阅读:
    Rman备份及不完全恢复操作
    win2003系统同步Linux ntp server批处理
    ntp服务器搭建
    notepad++调用python3中文乱码
    10G安装DataGuard
    oracle安装配置
    python之路(14)进程
    python之路(13)线程
    python之路(12)网络编程
    python之路(11)描述符
  • 原文地址:https://www.cnblogs.com/jcbo/p/6781532.html
Copyright © 2011-2022 走看看