jquery实现简单拖拽效果

 更新时间:2020年07月20日 10:14:02   作者:Anna·  
这篇文章主要为大家详细介绍了jquery实现简单拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了jquery实现简单拖拽的具体代码,供大家参考,具体内容如下

基本思路:

1.首先需要鼠标按下拖动区域,也就是需要调用 mousedown 方法

2.鼠标移动,需要拖动的元素跟着鼠标移动,调用 mousemove 方法

3.鼠标弹起拖动消失,调用 mouseup 方法 

下面看一下代码:

页面结构:

样式:

.drag {
  width: 200px;
  height: 200px;
  background-color: skyblue;
  position: absolute;
}

效果图:

逻辑代码:

// 拖拽函数
function function_drag(ele) {
 $(ele).mousedown(function(e){
 // 获取鼠标离元素(0,0)位置的距离
 var positionDiv = $(this).offset(); //offset 元素的偏移坐标 有两个属性:top left(对显示的元素有用)
 var distenceX = e.pageX - positionDiv.left; //page 显示鼠标指针的位置  (此时相当于,鼠标按下的初始值)
 var distenceY = e.pageY - positionDiv.top; //
 
 // 鼠标移动
 $(document).mousemove(function(e){
  // 获取鼠标的位移(鼠标此时的page值 - 鼠标按下时的初始值 = 元素的移动值)
  var x = e.pageX - distenceX;
  var y = e.pageY - distenceY;
  if(x<0){
  x=0;
  }else if(x>$(document).width()-$(ele).outerWidth(true)){
  x = $(document).width()-$(ele).outerWidth(true);
  }
  if(y<0){
   y=0;
  }else if(y>$(document).height()-$(ele).outerHeight(true)){
   y = $(document).height()-$(ele).outerHeight(true);
  }
  $(ele).css({
  'left':x+'px',
  'top':y+'px'
  })
 })
 
 // 鼠标抬起
 $(document).mouseup(function(e){
  $(document).off('mousemove');
 })
 })
} 
function_drag('.drag'); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • jQuery AJAX应用实例总结

    jQuery AJAX应用实例总结

    这篇文章主要介绍了jQuery AJAX应用,结合实例形式总结分析了jQuery 使用AJAX访问各种格式数据相关应用操作实现技巧,需要的朋友可以参考下
    2020-05-05
  • 使用jQuery mobile库检测url绝对地址和相对地址的方法

    使用jQuery mobile库检测url绝对地址和相对地址的方法

    这篇文章主要介绍了使用jQuery mobile库监测绝对地址和相对地址的方法,分别是isAbsoluteUrl()和isRelativeUrl()方法的使用,需要的朋友可以参考下
    2015-12-12
  • jQuery的观察者模式详解

    jQuery的观察者模式详解

    本文主要是介绍了jQuery中on方法及trigger方法,以及围绕这个方法来体验的观察者模式,是篇非常不错的文章,对我们理解观察者模式很有帮助。
    2014-12-12
  • jQuery实现平滑滚动页面到指定锚点链接的方法

    jQuery实现平滑滚动页面到指定锚点链接的方法

    这篇文章主要介绍了jQuery实现平滑滚动页面到指定锚点链接的方法,涉及jquery鼠标事件及页面滚动的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • jQuery的12招常用技巧分享

    jQuery的12招常用技巧分享

    jquery是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器。由于jQuery对象本身是一个集合。所以如果jQuery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
    2011-08-08
  • jQuery-ui引入后Vs2008的无智能提示问题解决方法

    jQuery-ui引入后Vs2008的无智能提示问题解决方法

    引入jQuery-vsdoc文件后,jQuery库就能智能提示了,解决方法很简单在jQuery-ui的目录下再加入一个空的JS文件,命名jquery-ui-vsdoc.js
    2014-02-02
  • jquery实现点击TreeView文本父节点展开/折叠子节点

    jquery实现点击TreeView文本父节点展开/折叠子节点

    今天客户提出要点击菜单(TreeView实现的)的父级节点时,展开节点,很多新手朋友可能对此会很陌生,接下来介绍解决方法,感兴趣的朋友可以了解下
    2013-01-01
  • jQuery实现弹窗下底部页面禁止滑动效果

    jQuery实现弹窗下底部页面禁止滑动效果

    在项目开发过程中,经常会遇到带有弹窗的页面,尤其是在移动端。下面通过本文给大家分享jQuery实现弹窗下底部页面禁止滑动效果,需要的朋友参考下吧
    2017-12-12
  • JQuery入门—编写一个简单的JQuery应用案例

    JQuery入门—编写一个简单的JQuery应用案例

    首先引入JQuery文件库只需将文件导入页面中即可,即在<head></head>中,接下来详细介绍,感兴趣的朋友可以了解下
    2013-01-01
  • jQuery实现开关灯效果

    jQuery实现开关灯效果

    这篇文章主要为大家详细介绍了jQuery实现开关灯效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08

最新评论