拖拽的物件導向寫法

2021-09-25 14:00:06 字數 926 閱讀 9700

上面是面向過程的寫法,而下面將講解如果寫物件導向的寫法,物件導向其實就是建立乙個建構函式,把執行函式寫到原型上面,然後可以通過建立例項物件的方法可以實現重複的呼叫。

1.首先,建立出乙個建構函式,然後將出現的函式,從最裡面的執行函式依次寫到原型上,不可以出現函式巢狀,在最外層的函式裡面呼叫裡面的函式,不過不能直接呼叫,因為呼叫的是window,會擺錯,所以要在前面加上that,然後在最外層的函式定義var that = this,此時this為建構函式。

2.最後還要在原型上建立乙個init函式,裡面是觸發的元素事件,所以需要獲取到元素和寫出執行函式

3.元素是作為全域性的變數,不能單獨在某個執行函式裡面定義var,所以需要在建構函式中使用this.odiv 獲取到元素,這時候的建構函式就是全域性,定義的屬性都是放在全域性建構函式中,但一般先不賦值,在引用的函式內在賦值就可

4.這時候,就需要把原型上的所有執行函式的全域性變數都附上this指向了

5.最後建立乙個例項,呼叫init方法,就建立成功了

js物件導向拖拽

drag.js實現拖拽,沒有控制邊界,使用draglimit.js繼承drag.js再實現了邊界控制drag.html draj.js 物件導向拖拽 param id 拖拽目標div的id function drag id 滑鼠按下 drag.prototype.fndown function ev...

物件導向div拖拽

html css div js odiv.onmousedown function ev document.onmousemove function ev else if l document.documentelement.clientwidth odiv.offsetwidth 縱向 if t ...

物件導向 拖拽與繼承

面向過程的拖拽 物件導向的拖拽 繼承 繼承父類的屬性和方法。屬性通過call來繼承,原型通過乙個for迴圈來實現繼承。如下 function limitdrag id for var i in drag.prototype limitdrag.prototype.fnmove function ev...