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.ajax向后台传递数组问题的解决方法
May 12 jQuery
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 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 printf输出格式使用说明
2010/12/05 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
python操作列表的函数使用代码详解
2017/12/28 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python交易记录整合交易类详解
2019/07/03 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
pycharm显示远程图片的实现
2019/11/04 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
庆七一活动方案
2014/01/25 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
媒体宣传策划方案
2014/05/25 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python