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实现火车票买票城市选择切换功能
Sep 15 jQuery
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
jquery的$().each和$.each的区别
Jan 18 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 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
文件上传程序的全部源码
2006/10/09 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
深入php之规范编程命名小结
2013/05/15 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
详解Chai.js断言库API中文文档
2018/01/31 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
python opencv实现证件照换底功能
2019/08/19 Python
python通过链接抓取网站详解
2019/11/20 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
配置管理计划的主要内容有哪些
2014/06/20 面试题
建筑项目策划书
2014/01/13 职场文书
交通安全教育制度
2014/02/02 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
学习十八大报告感言
2014/02/28 职场文书
入党政审材料范文
2014/12/24 职场文书
慰问信格式
2015/02/14 职场文书
单位计划生育责任书
2015/05/09 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js