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图片放大镜效果
Jun 23 jQuery
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
jQuery列表检索功能实现代码
Jul 17 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery属性选择器用法实例分析
Jun 28 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
jquery插件实现搜索历史
Apr 24 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中curl_setopt函数用法实例分析
2015/04/16 PHP
PHP微信支付实例解析
2016/07/22 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
简单了解Python write writelines区别
2020/02/27 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
数控专业个人求职信范例
2013/11/29 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
网络技术专业求职信
2014/07/13 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
向女朋友道歉的话
2015/01/20 职场文书
银行给客户的感谢信
2015/01/23 职场文书