jquery实现简单拖拽效果


Posted in jQuery onJuly 20, 2020

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

基本思路:

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

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

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

下面看一下代码:

页面结构:

jquery实现简单拖拽效果

样式:

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

效果图:

jquery实现简单拖拽效果

逻辑代码:

// 拖拽函数
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 相关文章推荐
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 jQuery
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
jQuery实现影院选座订座效果
Apr 13 jQuery
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 #jQuery
jquery实现有过渡效果的tab切换
Jul 17 #jQuery
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 #jQuery
jQuery 添加元素和删除元素的方法
Jul 15 #jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 #jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 #jQuery
jQuery开发仿QQ版音乐播放器
Jul 10 #jQuery
You might like
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
Python常用模块介绍
2014/11/21 Python
Python实时获取cmd的输出
2015/12/13 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
python requests指定出口ip的例子
2019/07/25 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
python中time、datetime模块的使用
2020/12/14 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
前处理组长岗位职责
2014/03/01 职场文书
洗车工岗位职责
2014/03/15 职场文书
新党章心得体会
2014/09/04 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js