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 type的4种类型(详解)
Aug 02 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
ajax jquery实现页面某一个div的刷新效果
Mar 04 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多态代码实例
2015/06/26 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
详解Python中的循环语句的用法
2015/04/09 Python
Python切片知识解析
2016/03/06 Python
Python for循环生成列表的实例
2018/06/15 Python
Python之用户输入的实例
2018/06/22 Python
python实现狄克斯特拉算法
2019/01/17 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
python实现按关键字筛选日志文件
2019/12/24 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
Java程序员面试题
2016/09/27 面试题
高级工程师岗位职责
2013/12/15 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
小学安全教育材料
2014/02/17 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
公司外出活动方案
2014/08/14 职场文书
公司禁烟通知
2015/04/23 职场文书
中学社团活动总结
2015/05/07 职场文书
2015年教师节感言
2015/08/03 职场文书
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript