zoukankan      html  css  js  c++  java
  • 拖拽

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>拖拽</title>	
    <style>
    *{
    	margin: 0px; padding: 0px;
    }	
    #parent{
    	 100px; height: 100px; background: red; position: absolute; top: 0px; left: 0px;
    }
    #son{
    	 100px; height: 100px; background: #ace; position: absolute; top: 0px; left: 100px;
    }
    </style>
    </head>	
    <body>
    <div id="parent"></div>	
    <div id="son"></div>	
    <script type="text/javascript">
    window.onload = function(){
    	var t1 = new Drag("parent");
    	t1.init();
    
    	var t2 = new Dragextend("son");
    	t2.init();
    }	
    function Drag(id){
    	this.oBox = document.getElementById(id);
    	this.disX = 0;
    	this.disY =0;
    }
    Drag.prototype.init = function(){
    	var _this = this;
    	this.oBox.onmousedown = function(ev){
    		var ev = ev||event;
    		_this.Down(ev);
    		document.onmousemove = function(ev){
    			var ev = ev||event;
    			_this.Move(ev);
    		};
    		document.onmouseup = function(){
    			_this.Up();
    		}
    		return false;
    	}
    };
    
    Drag.prototype.Down = function(ev){
    	this.disX = ev.clientX - this.oBox.offsetLeft;
    	this.disY = ev.clientY - this.oBox.offsetTop;
    };
    Drag.prototype.Move =function(ev){	
    	this.oBox.style.left = ev.clientX - this.disX +'px';
    	this.oBox.style.top = ev.clientY - this.disY + 'px';
    };
    Drag.prototype.Up = function(){
    	document.onmousemove = null;
    	document.onmouseup = null;
    };
    
    function Dragextend(id){
    	Drag.call(this,id);
    }
    extend(Dragextend.prototype,Drag.prototype);
    Dragextend.prototype.Move = function(ev){
    	var L = ev.clientX - this.disX;
    	var T = ev.clientY - this.disY;
    	if(L < 0){
    		L = 0;
    	} 
    	if(L >= document.documentElement.clientWidth - this.oBox.offsetWidth){
    		L = document.documentElement.clientWidth - this.oBox.offsetWidth;
    	}
    	if(T < 0){
    		T = 0;
    	}
    	if(T>=document.documentElement.clientHeight - this.oBox.offsetHeight){
    		T = document.documentElement.clientHeight - this.oBox.offsetHeight;
    	}
    	this.oBox.style.left = L +'px';
    	this.oBox.style.top = T + 'px';
    }
    
    function extend(obj1,obj2){
    	for(var attr in obj2){
    		obj1[attr] = obj2[attr];
    	}
    }
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    spring声明式事务管理详情解析
    Nginx nginx.conf配置文件详细说明
    etcd
    rsyslog使用简介
    LINUX常见命令
    kafka简介&使用
    kafka安装
    Zookeeper简介&应用场景
    Zookeeper安装
    安装JDK
  • 原文地址:https://www.cnblogs.com/xiaoxiaosha/p/3957303.html
Copyright © 2011-2022 走看看