js面向对象的继承实例-call
来源:互联网 发布:推荐淘宝靠谱的代购店 编辑:程序博客网 时间:2024/05/29 03:42
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body{ position: relative; } #box{ position: absolute; width: 150px; height: 150px; background: #f00; cursor: default; } #box2{ position: absolute; left: 300px; top: 300px; width: 150px; height: 150px; background: #00f; cursor: default; } </style> </head> <body> <div id="box"></div> <div id="box2"></div> </body> <!--面向对象的继承--> <script type="text/javascript"> window.onload = function(){ var d1 = new Drag('box'); d1.init(); var d2 = new Cdrag('box2'); d2.init(); } // 构造函数 function Drag(id){ this.oBox = document.getElementById(id); this.disX = 0; this.disY = 0; } //方法 ev事件写在函数下面 Drag.prototype.init = function(){ var _this = this; this.oBox.onmousedown = function(ev){ var ev = ev || window.event; _this.fnDown(ev); }; } Drag.prototype.fnDown = function(ev){ var _this = this; this.disX = ev.clientX - this.oBox.offsetLeft; this.disY = ev.clientY - this.oBox.offsetTop; document.onmousemove = function(ev){ var ev = ev || window.event; _this.fnMove(ev); }; document.onmouseup = function(){ _this.fnUp(); }; return false; } Drag.prototype.fnMove = function(ev){ this.oBox.style.left = ev.clientX - this.disX + "px"; this.oBox.style.top = ev.clientY - this.disY + "px"; } Drag.prototype.fnUp = function(){ document.onmousemove = null; document.onmouseup = null; } //构造一个子类实现父类的继承,还有自己的功能 //属性的继承 function Cdrag(id){ Drag.call(this,id); }; //方法的继承 for(var i in Drag.prototype){ Cdrag.prototype[i] = Drag.prototype[i]; }; //新建自己的方法 Cdrag.prototype.fnMove = function(ev){ var ev = ev || event; var l = ev.clientX - this.disX; var t = ev.clientY - this.disY ; if(l<0){ l = 0; } else if(l>document.documentElement.clientWidth - this.oBox.offsetWidth){ l = document.documentElement.clientWidth - this.oBox.offsetWidth; } if(t<0){ t = 0; } else 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"; } </script></html>
阅读全文
0 0
- js面向对象的继承实例-call
- JS面向对象、prototype、call()、apply()和实例
- JavaScript面向对象的方法实现继承:call方法
- 面向对象的继承的实例
- js 面向对象 继承
- JS面向对象-继承
- js面向对象继承
- js面向对象,继承
- js面向对象继承
- JS面向对象---继承
- js面向对象 继承
- js 学习面向对象的继承
- js面向对象编程的继承问题
- js--面向对象--构造函数的继承
- js中面向对象的继承
- js中的面向对象的prototype,call的用法
- js面向对象和继承
- js面向对象与继承
- 【陷阱代码】c++ 第一篇 简单但却常见
- Spring的bean后处理器和容器后处理器
- window对象
- MeritMS—利用beego实现数据库自动备份
- 浅谈JavaScript之BOM
- js面向对象的继承实例-call
- javaScript高级模块化
- 数据结构基本概念澄清
- php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
- ==与Equals的区别
- CentOS6.7安装Oracle11gR2
- jQuery
- 关于linux中的awk用法
- Java总结篇系列:Java泛型