先直接上代码,以后再解释
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 |
}); |