想法是利用jquery的mousemove,mousedown,mouseup三個事件,定義兩個相對位置,分別是
1、元件左上角與螢幕左上角的相對位置
2、滑鼠所在座標與組件左上角的相對位置。
具體函數如下:
程式碼如下:
.drag{
position:absolute;
background:#0000CC;
top:100px;left:200px;
padding:0;
}
複製程式碼
程式碼如下:
$(document).ready(function(){
$(document).ready(function(){
var
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("頂部")); }); $(document).mousemove(function(e){ if(move){ var x=e.pageX-_x;////1號左上角到螢幕左上角的相對位置var y=e.pageY-_y; $(".drag").css({"top":y,"left":x}); } }).mouseup(function(){ move=false; }); 其中e.pageX,e.pageY為目前滑鼠的橫縱滑鼠座標。