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遮罩层实例讲解
May 11 jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
多种类型jQuery网页验证码插件代码实例
Jan 09 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 file_get_contents函数轻松采集html数据
2010/04/22 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
《诺贝尔》教学反思
2014/02/17 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
学雷锋活动倡议书
2014/08/30 职场文书
研究生导师评语
2014/12/31 职场文书
督导岗位职责
2015/02/04 职场文书
企业安全生产规章制度
2015/08/06 职场文书
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL