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监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
详谈jQuery中使用attr(), prop(), val()获取value的异同
Apr 25 jQuery
jQuery extend()详解及简单实例
May 06 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
jQuery列表检索功能实现代码
Jul 17 jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
jQuery实现验证用户登录
Dec 10 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-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
python变量不能以数字打头详解
2016/07/06 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
毕业生文员求职信
2013/11/03 职场文书
关于期中考试的反思
2014/02/02 职场文书
培训讲师岗位职责
2014/04/13 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
计算机专业自荐信
2014/05/24 职场文书
留学生求职信
2014/06/03 职场文书
法学自荐信
2014/06/20 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
pandas数值排序的实现实例
2021/07/25 Python