function move(dom, Wx, Wy) { this.dom = $(dom); this.left = 0; this.top = 0; this.moveWhat = () => { this.moveWhats(); console.log(this, 'inmoveWhat'); }; this.moveWhats = () => { console.log(this.dom, 'inmoveWhatS'); }; var beginrelative = () => {//relative var that = this; this.dom.mousedown((e) => { var a = 'null'; var x = e.clientX , y = e.clientY , xx, yy , L = that.left , T = that.top; this.dom.css({ 'left': that.left, "top": that.top }) console.log("dianxia"); this.dom.mousemove((e) => { console.log("yidong") a = e; xx = e.clientX; yy = e.clientY; that.left = xx - x + L; that.top = yy - y + T; console.log((x + L + that.left) < e.offsetX) this.dom.css({ 'left': that.left, "top": that.top }) }) this.dom.mouseup(() => { if (a != 'null') { this.dom.unbind(a); a = 'null'; console.log("songkai") } }) this.dom.mouseout((e) => { if (a != 'null') { this.dom.unbind(a); a = 'null'; console.log("songkai") } this.dom.unbind(e); }) }) } // beginrelative(); var beginabsolute = () => { var that = this; this.dom.mousedown((e) => { var a = 'null'; var x = e.clientX , y = e.clientY , xx, yy; this.dom.css({ 'left': that.left, "top": that.top }) console.log("dianxia"); this.dom.mousemove((e) => { console.log("yidong") a = e; xx = e.clientX; yy = e.clientY; that.left = xx - x; that.top = yy - y; console.log((x + L + that.left) < e.offsetX) this.dom.css({ 'left': that.left, "top": that.top }) }) this.dom.mouseup(() => { if (a != 'null') { this.dom.unbind(a); a = 'null'; console.log("songkai") } }) this.dom.mouseout((e) => { if (a != 'null') { this.dom.unbind(a); a = 'null'; console.log("songkai") } this.dom.unbind(e); }) }) } beginabsolute(); }