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实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
jQuery手风琴的简单制作
May 12 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
jQuery实现拼图小游戏(实例讲解)
Jul 24 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
jQuery选择器之属性过滤选择器详解
Sep 28 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
jQuery编写QQ简易聊天框
Aug 27 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之static静态属性与静态方法实例分析
2015/07/30 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
PHP的PDO连接讲解
2019/01/24 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
js实现点赞效果
2020/03/16 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
综合素质评价个性发展自我评价
2015/03/06 职场文书
2015年加油站工作总结
2015/05/13 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技