jquery 升级到1.4后 jqDrag 拖动 不可用

本文介绍了一个基于jQuery的自定义插件,该插件实现了元素的拖拽和缩放功能。通过绑定鼠标事件,允许用户改变元素的位置和大小,并详细展示了实现这一功能的JavaScript代码。
(function($){
$.fn.jqDrag
=function(h){return i(this,h,'d');};
$.fn.jqResize
=function(h){return i(this,h,'r');};
$.jqDnR
={dnr:{},e:0,
drag:
function(v){
 
if(M.k == 'd')E.css({left:M.X+v.pageX-M.pX,top:M.Y+v.pageY-M.pY});
 
else E.css({width:Math.max(v.pageX-M.pX+M.W,0),height:Math.max(v.pageY-M.pY+M.H,0)});
  
return false;},
stop:
function(){E.css('opacity',M.o);$().unbind('mousemove',J.drag).unbind('mouseup',J.stop);}
};
var J=$.jqDnR,M=J.dnr,E=J.e,
i
=function(e,h,k){return e.each(function(){h=(h)?$(h,e):e;
 h.bind(
'mousedown',{e:e,k:k},function(v){var d=v.data,p={};E=d.e;
 
// attempt utilization of dimensions plugin to fix IE issues
 if(E.css('position'!= 'relative'){try{E.position(p);}catch(e){}}
 M
={X:p.left||f('left')||0,Y:p.top||f('top')||0,W:f('width')||E[0].scrollWidth||0,H:f('height')||E[0].scrollHeight||0,pX:v.pageX,pY:v.pageY,k:d.k,o:E.css('opacity')};
 E.css({opacity:
0.8});$().mousemove($.jqDnR.drag).mouseup($.jqDnR.stop);
 
return false;
 });
});},
f
=function(k){return parseInt(E.css(k))||false;};
})(jQuery);

 

 

 

修改后

 

(function($){
$.fn.jqDrag
=function(h){return i(this,h,'d');};
$.fn.jqResize
=function(h){return i(this,h,'r');};
$.jqDnR
={dnr:{},e:0,
drag:
function(v){
 
if(M.k == 'd')E.css({left:M.X+v.pageX-M.pX,top:M.Y+v.pageY-M.pY});
 
else E.css({width:Math.max(v.pageX-M.pX+M.W,0),height:Math.max(v.pageY-M.pY+M.H,0)});
  
return false;},
stop:
function(){E.css('opacity',M.o);$(document).unbind('mousemove',J.drag).unbind('mouseup',J.stop);}
};
var J=$.jqDnR,M=J.dnr,E=J.e,
i
=function(e,h,k){return e.each(function(){h=(h)?$(h,e):e;
 h.bind(
'mousedown',{e:e,k:k},function(v){var d=v.data,p={};E=d.e;
 
// attempt utilization of dimensions plugin to fix IE issues
 if(E.css('position'!= 'relative'){try{E.position(p);}catch(e){}}
 M
={X:p.left||f('left')||0,Y:p.top||f('top')||0,W:f('width')||E[0].scrollWidth||0,H:f('height')||E[0].scrollHeight||0,pX:v.pageX,pY:v.pageY,k:d.k,o:E.css('opacity')};
 E.css({opacity:
0.8});$(document).mousemove($.jqDnR.drag).mouseup($.jqDnR.stop);
 
return false;
 });
});},
f
=function(k){return parseInt(E.css(k))||false;};
})(jQuery);

 

 

即可

转载于:https://www.cnblogs.com/Task/archive/2010/02/05/1664363.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值