jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】


Posted in jQuery onDecember 29, 2018

本文实例讲述了jQuery实现的鼠标拖动浮层功能。分享给大家供大家参考,具体如下:

拖动浮层(div等任何标签)

之前项目做到一个弹出层需要一个拖动功能,上网上查了资料,发现很多方法,但是感觉都很繁琐,有的甚至没看懂。看了几个方法后发现基本上都是使用mousedown、mousemove和mouseup这三个函数来写的,然后就自己写了个移动div的方法。

先用mousedown来判断是否要开启移动,然后通过mousemove来获得移动的距离,实现移动;最后通过mouseup事件来判断移动结束了。

完整代码实例:

<html>
<head>
  <meta charset="utf-8"></meta>
  <title>Drag Div</title>
  <script src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>
</head>
<body>
  <div id="moveDiv" style="width:300px;height:300px;background-color:red;position:absolute;">
    <div id="moveBar" style="background-color:green;height:30px;cursor: move;"></div>
  </div>
  <script type="text/javascript">
    var dragJob=false;
    $(document).on("mousedown", '#moveBar', function (e) {
      dragJob = true;
    });
    document.onmousemove = function (e) {
    if (dragJob) {
      var e = e || window.event;
      var height = $(document.body).height();
      var width = $(window).width();
      var widthJob = $("#moveDiv").width();
      var heightJob = $("#moveDiv").height();
      var left = e.clientX - widthJob / 2;
      var top = e.clientY - 18 + $(document).scrollTop();
      if (top >= 0 && top < height - heightJob) {
        $("#moveDiv").css("top", top);
      }
      if (left >= 0 && left < width - widthJob) {
        $("#moveDiv").css("left", left);
      }
      return false;
    }
  };
  $(document).mouseup(function (e) {
    dragJob = false;
  });
  </script>
</body>
</html>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可获得如下运行效果:

jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery日期范围选择器附源码下载
May 23 jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
JQuery的加载和选择器用法简单示例
May 13 jQuery
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 jQuery
jQuery实现图片切换效果
Oct 19 jQuery
jquery实现图片放大镜效果
Dec 23 jQuery
jQuery实现穿梭框效果
Jan 19 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 #jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 #jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 #jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 #jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 #jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 #jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 #jQuery
You might like
PHP写的求多项式导数的函数代码
2012/07/04 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
python的unittest测试类代码实例
2017/12/07 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
用python生成1000个txt文件的方法
2018/10/25 Python
python字符串格式化方式解析
2019/10/19 Python
Python中os模块功能与用法详解
2020/02/26 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
Java基础面试题
2014/07/19 面试题
手工社团活动方案
2014/02/17 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书