先直接上代码,以后再解释
01 | $( function (){ |
02 | var _move= false ; //移动标记 |
03 | var _x,_y; //鼠标离控件左上角的相对位置 |
04 | $( ".drag" ).mousedown( function (e){ |
05 | _move= true ; |
06 | _x=e.pageX-parseInt($( ".drag" ).css( "left" )); |
07 | _y=e.pageY-parseInt($( ".drag" ).css( "top" )); |
08 | $( ".drag" ).fadeTo(20, 0.5); //点击后开始拖动并透明显示 |
09 | }); |
10 | $(document).mousemove( function (e){ |
11 | if (_move){ |
12 | var x=e.pageX-_x; //移动时根据鼠标位置计算控件左上角的绝对位置 |
13 | var y=e.pageY-_y; |
14 | $( ".drag" ).css({top:y,left:x}); //控件新位置 |
15 | } |
16 | }).mouseup( function (){ |
17 | _move= false ; |
18 | $( ".drag" ).fadeTo( "fast" , 1); //松开鼠标后停止移动并恢复成不透明 |
19 | }); |
20 | }); |