jQuery拖拽div实现

思路是利用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为当前鼠标的横纵坐标。

大家自己动手试一下,思路就更加清晰了~



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值