Posted in Javascript onFebruary 19, 2014
思路是利用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为当前鼠标的横纵坐标。
大家自己动手试一下,思路就更加清晰了~
jQuery拖拽div实现思路
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@