$.updatePosition = function(e) { var pos = $.getMousePosition(e); var spanX = (pos.x - lastMouseX); var spanY = (pos.y - lastMouseY); if(lastElemTop + spanY != 0){ $(currentElement).css("top", (lastElemTop + spanY)); } if(lastElemLeft + spanX != 0){ $(currentElement).css("left", (lastElemLeft + spanX)); }else{ $(currentElement).css("left", -$(currentElement).width()); } };
只点击时lastElemLeft + spanX == 0而此情况下,插件会偏移一个当前Div的宽度,因此添加处理$(currentElement).css("left", -$(currentElement).width());