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+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jquery+css3实现熊猫tv导航代码分享
Feb 12 jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
jQuery无冲突模式详解
Jan 17 jQuery
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 jQuery
jQuery中实现text()的方法
Apr 04 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jquery插件实现轮播图效果
Oct 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强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
JS解析XML实例分析
2015/01/30 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
南京软件公司的.net程序员笔试题
2014/08/31 面试题
文秘专业大学生求职信
2013/11/10 职场文书
运动会广播稿50字
2014/01/26 职场文书
医院学雷锋活动策划方案
2014/02/15 职场文书
心得体会的写法
2014/09/05 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
产品质量保证书范本
2015/02/27 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python
详解MySQL的内连接和外连接
2023/05/08 MySQL