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实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
简单实现jquery隔行变色
Nov 09 jQuery
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
jQuery zTree插件快速实现目录树
Aug 16 jQuery
jQuery实现可编辑的表格
Dec 11 jQuery
JQuery获得内容和属性方法解析
May 30 jQuery
jQuery中event.target和this的区别详解
Aug 13 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解压文件代码实现php在线解压
2014/02/13 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
酒店管理专业自荐信
2014/05/23 职场文书
森林防火标语
2014/06/23 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
python实现商品进销存管理系统
2022/05/30 Python