面向对象——————拖拽与继承

和上一篇的面向对象的选项卡差不多,先将面向过程的拖拽改写成面向对象的拖拽,然后再加上继承就好了。

面向过程的拖拽:

<script type="text/javascript">
            window.οnlοad=function(){
                var oDiv=document.getElementById('div1');
                oDiv.οnmοusedοwn=function(ev){
                    var oEvent=ev||event;
                    var disX=oEvent.clientX-oDiv.offsetLeft;
                    var disY=oEvent.clientY-oDiv.offsetTop;
                    document.οnmοusemοve=function(ev){
                        var oEvent=ev||event;
                        oDiv.style.left=oEvent.clientX-disX+'px';
                        oDiv.style.top=oEvent.clientY-disY+'px';
                    }
                    document.οnmοuseup=function(){
                        document.οnmοusemοve=null;
                        document.οnmοuseup=null;
                    }
                }
                
            }
        </script>

面向对象的拖拽:

<script type="text/javascript">
            window.οnlοad=function(){
                new Drag('div1');
            };
            
        function Drag(id){
                var _this=this;
                this.disX=0;
                this.disY=0;
                this.oDiv=document.getElementById(id);
                this.oDiv.οnmοusedοwn=function(ev){
                    _this.fnDown(ev);
                };
                
            }
            Drag.prototype.fnDown=function (ev){
                    var _this=this;
                    var oEvent=ev||event;
                    this.disX=oEvent.clientX-this.oDiv.offsetLeft;
                    this.disY=oEvent.clientY-this.oDiv.offsetTop;
                    document.οnmοusemοve=function(ev){
                        _this.fnMove(ev);
                    };
                    document.οnmοuseup=function(){
                        _this.fnDown(this);
                    };
                }
            Drag.prototype.fnMove=function (ev){
                
                        var oEvent=ev||event;
                        this.oDiv.style.left=oEvent.clientX-this.disX+'px';
                        this.oDiv.style.top=oEvent.clientY-this.disY+'px';
                    }
            Drag.prototype.fnUp=function (){
                        document.οnmοusemοve=null;
                        document.οnmοuseup=null;
                    }
        </script>

继承:继承父类的属性和方法。

属性通过call来继承,原型通过一个for循环来实现继承。

如下:

function LimitDrag(id){
    Drag.call(this,id);     //继承父类Drag
    
};
for(var i in Drag.prototype){
    LimitDrag.prototype[i]=Drag.prototype[i];
}
LimitDrag.prototype.fnMove=function (ev){         //将父类fnMove重写(会把原来的覆盖从而生成子类新的特性——限制范围)。
                
                        var oEvent=ev||event;
                        var l=oEvent.clientX-this.disX;
                        var t=oEvent.clientY-this.disY;
                        if(l<0)
                        {
                            l=0;
                        }
                        else if(l>document.documentElement.clientWidth-this.oDiv.offsetWidth){
                            l=document.documentElement.clientWidth-this.oDiv.offsetWidth;
                        }
                        this.oDiv.style.left=l+'px';
                        this.oDiv.style.top=t+'px';
                };

 

谈谈系统对象:

1,宿主对象:由浏览器提供的对象。(通常是DOM,BOM。但是Node.js不一样了,它是在后台编写JS,所以它有一套新的宿主对象,而不再是DOM,BOM了)

2,本地对象(与内置对象都是JS本身所具有的,没得的话就不叫JS了)

          即非静态对象,常用:Object,Function,Date,Array,String,Boolean,Number,RegExp

3,内置对象

       即静态对象,Global与Math

                  Global:仅存在于概念里,用来让全局变量什么的进行归属,不能使用。

                  Math:直接能用,不需要实例化。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mathtype 是一种优秀的数学公式编辑器,它可以帮助我们快速地创建各种数学公式,包括数学符号、函数、公式等等。在科研、学术论文写作中,使用 Mathtype 编辑数学公式可以大幅提高效率和准确度。以下是 Mathtype 下载与使用的详细步骤: 一、Mathtype 下载 1.进入 Mathtype 的官方网站:https://www.mathtype.com/ 2.点击网站上的 "Download"按钮,选择 "Windows" 或 "Mac" 版本的 Mathtype 进行下载。 3.下载完成后,双击安装程序,按照提示完成安装。 二、Mathtype 使用 1.启动 Mathtype,可以看到一个编辑区域和一个工具栏。 2.在工具栏中选择需要的符号或公式,单击即可插入到编辑区域中。 3.可以使用键盘输入数学符号或公式,例如输入平方根,可以使用 Ctrl+2 输入。 4.在编辑区域中,可以使用鼠标动、调整数学公式的大小和位置。 5.可以使用 "Copy" 和 "Paste" 命令将编辑好的数学公式复制到 Word、PowerPoint、LaTeX 等其他应用程序中。 6.如果需要编辑长篇的数学公式,可以使用 Mathtype 的 "Equation Editor" 功能,单击工具栏中的 "Equation Editor" 按钮即可打开。 7.在 "Equation Editor" 中编辑完成后,可以使用 "Copy" 和 "Paste" 命令将编辑好的数学公式复制到 Word、PowerPoint、LaTeX 等其他应用程序中。 总之,Mathtype 是一种非常方便、实用的数学公式编辑器,它可以让我们在写作时轻松创建各种数学公式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值