这是模块拖拽Javascript代码
$(function(){
var _move=false;//移动标记
var _x,_y;//鼠标离控件左上角的相对位置
$(".drag").click(function(){
//alert("click");//点击(松开后触发)
}).mousedown(function(e){
_move=true;
_x=e.pageX-parseInt($(".drag").css("left"));
_y=e.pageY-parseInt($(".drag").css("top"));
$(".drag").fadeTo(20, 0.5);//点击后开始拖动并透明显示
});
$(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;
$(".drag").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明
});
});
演示demo:http://www.daqianduan.com/demo/drag.html
转载请注明:大前端 » jquery 模块拖拽
主机点评网(Hostucan.cn)
华强北在线招聘前端开发工程师
携程UED招聘前端等职位
我也用这段代码耶 不过不知道在拖动的过程中如何改变鼠标 cursor:move 都无效
if(_move){
var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置
var y=e.pageY-_y;
if(x<0){
x=0
}
if(y<0){
y=0
}
$(".drag").css({top:y,left:x});//控件新位置
}
太专业了!路过的
mouseup为什么没用啊 松开鼠标后还是会移动
我也遇到和你一样的问题啊! 只能正常拖拽一次,后面的就会跟着鼠标走了,
这是为什么呢?
我用ff和IE6+没有问题
IE6的确存在这个问题, 你们用的是IE6?
用JQ UI就好了,这个这么复杂….
刚刚试了下,为什么当drag在没有设置初始top和left下的情况下无法拖动???
I just bookmarked your blog to read it letter, great information. Regards,^ ^
ie6下面有鼠标和模块粘连的情况出现!
Hi ,I have read your articles with links from Search.This request permission. Suggestions for property in Thailand Thank You. Regards,^ ^
IE下不work啊….
刚刚有测试一遍 ff ie6、7、8、9 chrome都支持的
你再试试吧,不行发邮件给我