评论

收藏

[jQuery] jQuery拖拽div实现

开发技术 开发技术 发布于:2021-07-14 09:21 | 阅读数:527 | 评论:0

思路是利用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为当前鼠标的横纵坐标。大家自己动手试一下,思路就更加清晰了~





关注下面的标签,发现更多相似文章