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插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
jquery拖动改变div大小
Jul 04 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
基于jquery实现左右上下移动效果
May 02 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
jQuery实现广告显示和隐藏动画
Jul 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php实现上传图片文件代码
2015/07/19 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
jQuery实现密保互斥问题解决方案
2013/08/16 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
node文字生成图片的示例代码
2017/10/26 Javascript
vue生命周期实例小结
2018/08/15 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
python处理图片之PIL模块简单使用方法
2015/05/11 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
Random 在 Python 中的使用方法
2018/08/09 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
毕业生简单求职信
2013/11/19 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
大型活动策划方案
2014/01/12 职场文书
运动会广播稿80字
2014/01/23 职场文书
精神文明建设标语
2014/06/16 职场文书
同乡会致辞
2015/07/30 职场文书
同学聚会祝酒词
2015/08/10 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技