思路是利用jquery的mousemove,mousedown,mouseup三個事件,定義兩個相對位置,分別是
1、組件左上角與屏幕左上角的相對位置
2、鼠標所在坐標與組件左上角的相對位置。
具體函數如下:
。 代碼如下:
.drag{
position:absolute;
background:#0000CC;
top:100px;left:200px;
padding:0;
}
。 代碼如下:
$(document).ready(function(){
var move=false;//移動標記
var _x,_y;//鼠標離控件左上角的相對位置
$(".drag").mousedown(function(e){
move=true;
_x=e.pageX-parseInt($(".drag").css("left"));
_y=e.pageY-parseInt($(".drag").css("top"));
});
$(document).mousemove(function(e){
if(move){
var x=e.pageX-_x;//控件左上角到屏幕左上角的相對位置
var y=e.pageY-_y;
$(".drag").css({"top":y,"left":x});
}
}).mouseup(function(){
move=false;
});
其中e.pageX,e.pageY為當前鼠標的橫縱坐標。
大家自己動手試一下,思路就更加清晰了~