类对象继承的实现
先创建一个父级对象Drag
/** * @author zhaoshaobang */ function Drag(id){ var _this=this; this.oDiv=document.getElementById(id); this.disX=0; this.disY=0; this.oDiv.onmousedown=function(evt) { _this.downFn(evt); }; }; Drag.prototype.downFn=function(evt){ var e=evt||event; var _this=this; this.disX=e.clientX-this.oDiv.offsetLeft; this.disY=e.clientY-this.oDiv.offsetTop; document.onmousemove=function(evt){ _this.moveFn(evt); }; document.onmouseup=function(evt){ _this.upFn(evt); }; }; Drag.prototype.moveFn=function(evt){ var e=evt||event; this.oDiv.style.left=e.clientX-this.disX+'px'; this.oDiv.style.top=e.clientY-this.disY+'px'; }; Drag.prototype.upFn=function(){ document.onmousemove=null; document.onmouseup=null; };
/** * @author zhaoshaobang */ //继承属性 function LimitDrag(id) { Drag.call(this,id);//Drag中的this会变为LimitDrag } // 继承父级方法 for(var i in Drag.prototype) { LimitDrag.prototype[i]=Drag.prototype[i]; } LimitDrag.prototype.moveFn=function(evt){ var e=evt||event; var i=e.clientX-this.disX; if(i<0) { i=0; } else if(i>document.documentElement.clientWidth-this.oDiv.offsetWidth) { i=document.documentElement.clientWidth-this.oDiv.offsetWidth; } this.oDiv.style.left=i+'px'; this.oDiv.style.top=e.clientY-this.disY+'px'; };
如对本文有疑问, 点击进行留言回复!!
2016年信息安全工程师综合知识第11-15题解析【建群网培信息安全工程师】
网友评论