var Drag = {
elem : null,
zindex : 0,
options : {},
init : function(){
each(arguments,function(i,elem,oThis){
addListener(elem,'mousedown',BindAsEventListener(oThis,oThis.start,elem));
},this);
},
start : function(e,elem){
var elem=this.elem = elem;
elem.style.zIndex=++this.zindex;
this.x = e.clientX - elem.offsetLeft ;
this.y = e.clientY - elem.offsetTop;
this.marginLeft = parseInt(currentStyle(elem).marginLeft)||0;
this.marginTop = parseInt(currentStyle(elem).marginTop)||0;
Sys.ie?elem.setCapture():e.preventDefault();
addListener(document,"mousemove",BindAsEventListener(this,this.move));
addListener(document,"mouseup",Bind(this,this.up));
this.options.callbackmove&&this.options.callbackmove(this.elem);
},
move : function(e){
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
var iLeft = e.clientX - this.x,iTop = e.clientY - this.y;obj = this.elem;
obj.style.left = iLeft - this.marginLeft + "px";
obj.style.top = iTop - this.marginTop + "px";
this.options.callbackmove&&this.options.callbackmove(this.elem);
},
up : function(){
removeListener(document,'mousemove');
removeListener(document,'mouseup');
Sys.ie&&this.elem.releaseCapture();
this.options.callbackup&&this.options.callbackup(this.elem);
}
};
原生javascript实现DIV拖拽并计算重复面积(3)
内容版权声明:除非注明,否则皆为本站原创文章。