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解析获取JSON数据
Apr 08 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
jQuery实现计算器功能
Oct 19 jQuery
Jquery+javascript实现支付网页数字键盘
Dec 21 jQuery
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
Mar 31 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通过修改header强制图片下载的方法
2015/03/24 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
Js基础学习资料
2010/11/23 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
用Python中的字典来处理索引统计的方法
2015/05/05 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
浅析python中的del用法
2020/09/02 Python
python 实现Harris角点检测算法
2020/12/11 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
微型企业创业投资计划书
2014/01/10 职场文书
家长会欢迎标语
2014/06/24 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python