js物件導向拖拽

2021-09-07 19:55:51 字數 1028 閱讀 7125

drag.js實現拖拽,沒有控制邊界,使用draglimit.js繼承drag.js再實現了邊界控制

drag.html

draj.js

/**

* 物件導向拖拽

* @param [id] [拖拽目標div的id]

*/function drag(id)

}// 滑鼠按下

drag.prototype.fndown=function(ev)

document.onmouseup=function()

}// 滑鼠移動

drag.prototype.fnmove=function(ev)

// 滑鼠抬起

drag.prototype.fnup=function()

draglimit.js

/**

* 限制邊界的拖拽,繼承自drag

* @param [id] [description]

*/function draglimit(id)

// 繼承方法

for(var p in drag.prototype)

/** * 覆寫父類的滑鼠移動方法,控制不能移出邊界

*/draglimit.prototype.fnmove=function(ev)else if(left>document.documentelement.clientwidth-this.obox.offsetwidth)

if(top<0)else if(top>document.documentelement.clientheight-this.obox.offsetheight)

this.obox.style.left=left+'px';

this.obox.style.top=top+'px';

}

物件導向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...

拖拽的物件導向寫法

上面是面向過程的寫法,而下面將講解如果寫物件導向的寫法,物件導向其實就是建立乙個建構函式,把執行函式寫到原型上面,然後可以通過建立例項物件的方法可以實現重複的呼叫。1.首先,建立出乙個建構函式,然後將出現的函式,從最裡面的執行函式依次寫到原型上,不可以出現函式巢狀,在最外層的函式裡面呼叫裡面的函式,...