jQuery实现的简单对话框拖动功能示例


Posted in jQuery onJune 05, 2018

本文实例讲述了jQuery实现的简单对话框拖动功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>3water.com jquery 拖动</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel=" rel="external nofollow" stylesheet">
<style>
  *{margin: 0;padding: 0;box-sizing: border-box;-moz-user-select:none;}
  body {font: 12px/16px bold 'microsoft yahei,微软雅黑';}
  .dragContainer {
    width: 382px;
    height: 395px;
     position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid red;
    margin-left: -191px;
    margin-top: -197.5px;
  }
  .dragContainer .dragtitle {
   width: 100%;
   height: 35px;
   border-bottom: 1px solid red;
   text-align: center;
   line-height: 35px;
  }
  .dragContainer .dragtitle:hover {
    cursor: move;
  }
  .dragContainer .content {
    width: 100%;
    height: 360px;
  }
  p.buttonGroup {
     width: 100%;
    text-align: center;
     position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 5px;
    border-top: 1px solid red;
  }
  p.buttonGroup input {
    padding: 5px 10px;
    color: white;
  }
  p.buttonGroup input:hover {
    cursor: pointer;
    cursor: hand;
  }
  p.buttonGroup input:first-child {
    margin-left: 25px;
    background: blue;
  }
  p.buttonGroup input.btn2 {
    margin-left: 15px;
    background: red;
  }
  </style>
</head>
<body>
 <div class="dragContainer" id="drag" style="'position:absolute;" >
   <p class="dragtitle">标题栏</p>
   <div class="content"></div>
   <p class="buttonGroup"><input type="button" value="确定"><input type="button" value="取消" class="btn2"></p>
 </div>
  <script src="http://cdn.bootcss.com/jquery/2.1.0/jquery.js"></script>
  <script type="text/javascript">
  var mydrag={
    mousePoint: {x:0,y:0}, //初始化坐标
    drag: function(){
      var that=this; //保存当前对象即(mydrag),如果不保存,在mousedown()里访问不了mydrag这个对象
      var targetid=$(".dragtitle");
      targetid.mousedown(function(event){
        var e=event;
        var offsetLeft=targetid.offset().left; //当前div的左偏移距离
        var offsetTop=targetid.offset().top;  //当前div的顶部偏移距离
          that.mousePoint.x=e.clientX-offsetLeft;//计算鼠标点击时离它自己div的横向距离
        that.mousePoint.y=e.clientY-offsetTop;  //计算鼠标点击时离它自己div的纵向距离
        $(document).bind('mousemove',move);
        e.stopPropagation();
      });
      function move(event){
          var e =event;
          var Left=e.clientX-that.mousePoint.x; //移动后,重新计算左偏移和顶部偏移距离
          var Top=e.clientY-that.mousePoint.y;
          $("#drag").css({'top':Top,'left':Left,'margin':0});
          $(document).bind('mouseup',end);
          e.stopPropagation();
        };
        function end(event){
          var e = event;
             $(document).unbind('mousemove', move);
                $(document).unbind('mouseup',end);
          e.stopPropagation();
        };
    }
  }
  mydrag.drag();
  </script>
</body>
</html>

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

jQuery实现的简单对话框拖动功能示例

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

jQuery 相关文章推荐
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
jQuery实现的分页插件完整示例
May 26 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 #jQuery
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 #jQuery
jQuery实现的简单获取索引功能示例
Jun 04 #jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 #jQuery
jQuery基于Ajax实现读取XML数据功能示例
May 31 #jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 #jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 #jQuery
You might like
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
canvas知识总结
2017/01/25 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
对python 调用类属性的方法详解
2019/07/02 Python
python3 深浅copy对比详解
2019/08/12 Python
django实现用户注册实例讲解
2019/10/30 Python
Python运行异常管理解决方案
2020/03/09 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Python 如何查找特定类型文件
2020/08/17 Python
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
《灯光》教学反思
2014/02/08 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS