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层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
jQuery操作cookie的示例代码
Jun 05 jQuery
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
JQuery省市联动效果实现过程详解
May 08 jQuery
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 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快速排序原理与实现方法分析
2016/05/26 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
python对execl 处理操作代码
2020/06/22 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
UNIX特点都有哪些
2016/04/05 面试题
关于赌博的检讨书
2014/01/24 职场文书
2014年统战工作总结
2014/12/09 职场文书
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis