jquery 模块拖拽

2010-07-01    分类:JavaScript    18人评论8,474次浏览

这是模块拖拽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 模块拖拽

您还可以继续浏览 JavaScriptjQuery 的文章

相关文章

14访客评论

  1. 我也用这段代码耶 不过不知道在拖动的过程中如何改变鼠标 cursor:move 都无效

    xmsz01-31 15:00 回复
  2. 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});//控件新位置

    }

    小谢11-25 23:41 回复
  3. 太专业了!路过的

    lace wigs10-05 13:55 回复
  4. mouseup为什么没用啊 松开鼠标后还是会移动

    孙海勋08-20 23:32 回复
    • 我也遇到和你一样的问题啊! 只能正常拖拽一次,后面的就会跟着鼠标走了, :???: 这是为什么呢?

      Gavin12-24 22:58 回复
      • 我用ff和IE6+没有问题
        IE6的确存在这个问题, 你们用的是IE6?

        lucoy01-29 17:54 回复
  5. 用JQ UI就好了,这个这么复杂….

    kttl08-16 13:22 回复
  6. 刚刚试了下,为什么当drag在没有设置初始top和left下的情况下无法拖动???

    文润08-03 10:47 回复
  7. I just bookmarked your blog to read it letter, great information. Regards,^ ^

  8. ie6下面有鼠标和模块粘连的情况出现!

    yfztcy06-17 10:05 回复
  9. Hi ,I have read your articles with links from Search.This request permission. Suggestions for property in Thailand Thank You. Regards,^ ^

  10. IE下不work啊…. :???:

    渣苏01-07 14:42 回复
    • 刚刚有测试一遍 ff ie6、7、8、9 chrome都支持的

      浩子01-07 17:25 回复
    • 你再试试吧,不行发邮件给我

      浩子01-07 17:26 回复

我来说说

*

*

取消