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日历价格、库存等设置插件
Jul 05 jQuery
jQuery表单设置值的方法
Jun 30 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
JQuery中queue方法用法示例
Jan 31 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
jQuery实现消息弹出框效果
Dec 10 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获取文件夹内文件数的方法
2015/03/12 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
Python中for循环控制语句用法实例
2015/06/02 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
外企办公室竞聘演讲稿
2013/12/29 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
承诺书怎么写
2014/03/26 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
2014年护士长工作总结
2014/11/11 职场文书
鲁迅故里导游词
2015/02/05 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
python状态机transitions库详解
2021/06/02 Python
Python 数据可视化之Seaborn详解
2021/11/02 Python