作为前端小白的我,试着用面向对象的方式写了一个拖拽,麻烦大神指正下哪里写得不好。

Drag.prototype = {
   mousedown: function(dom) {
       var that = this;
       dom.onmousedown=function(e) {
           var ev=e || event;
           that.disX=ev.clientX-dom.offsetLeft;
           that.disY=ev.clientY-dom.offsetTop;
           document.onmousemove=function(e){
               var ev=e||event;
               dom.style.left=ev.clientX-that.disX+'px';
               dom.style.top=ev.clientY-that.disY+'px';

           };
           that.mouseup();
       };

   },
   mouseup: function () {
       document.onmouseup=function () {
           document.onmousemove=null;
           document.onmouseup=null;
       }
   },
   init:function (dom){
       this.mousedown(dom);

   }
};
var dd = new Drag();
var oDiv= document.getElementById('div1');
dd.init(oDiv);

慕田峪8701529
浏览 1068回答 1
1回答

Stardust1001

有点觉得呢,你的代码写的似乎不怎么整洁,像函数里的函数,或者闭包这种东西也不要乱用,起码也要学懂了,不然会有问题的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript