jQuery窗口拖动功能的实现代码


Posted in Javascript onFebruary 04, 2017

jQuery窗口拖动功能的实现代码

具体代码如下所示:

$("#showTitle").mousedown(function (e) {
    vbool = true;
    vHeight = e.pageY;
    vWidth = e.pageX;
    cHeight = vHeight - $("#show").offset().top;
    cWdith = vWidth - $("#show").offset().left;
    //alert("divshow" + $("#show").offset().top + " divvHeight" + vHeight);
    //alert("高" + cHeight + " 宽" + cWdith);
  })
  $(document).mouseup(function () {
    vbool = false;
  })
  var showWidth = $("#show").width();
  var showHeight = $("#show").height();
  var documentWidth = $(document).width();
  var documentHeight = $(document).height();
  $(document).mousemove(function (e) {
    if (vbool) {
      var divheight = e.pageY - cHeight;//窗口要移动到的位置
      var divwidth = e.pageX - cWdith;//窗口要移动到的位置
      $("#la1").text(divheight + "w" + divwidth + "win" + showWidth + " x " + documentWidth + "" + showWidth);
      if (divwidth < 0) {
        divwidth = 0;
      }
      if (divheight < 50) {
        divheight = 50;
      }
      if (divwidth > documentWidth - showWidth) {
        divwidth = documentWidth - showWidth - 5;
      }
      if (divheight > documentHeight - showHeight) {
        divheight = documentHeight - showHeight - 5;
      }
      $("#show").css({ "left": divwidth, "top": divheight });
    }
  })

下面看下jQuery 鼠标拖拽移动窗口的实现代码

拖拽移动需要注意的是:拖拽移动的窗口是如何定位的,如果"left"属性为"%" ,以"margin-left"来计算定位,如下实例,如果"left"属性为数字,直接使用"left"即可。

// 弹窗模块拖拽拖动
$(function(){
  var _move=false;//移动标记
  var _x,_y;//鼠标离控件左上角的相对位置
  var _dragZone = $(".M_boxCenter .M_boxBody > h3");
  var _dragBody = _dragZone.parent();
  _dragZone.mousedown(function(e){
    $(this).attr("onselectstart", "return false"); //禁双击选中
    $("body").css({"-webkit-user-select":"none", "-moz-user-select":"none", "-ms-user-select":"none", "-khtml-user-select":"none", "user-select":"none"}); //禁止选中文字
    _move=true;
    _x=e.pageX-parseInt(_dragBody.css("margin-left"));
    _y=e.pageY-parseInt(_dragBody.css("margin-top"));
    _dragBody.fadeTo(150, 0.5);
  });
  $(document).mousemove(function(e){
    if(_move){
      var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置
      var y=e.pageY-_y;
      if(e.pageX <= 0 || e.pageY <= 0){
        _move=false;
      }else {
        _dragBody.css({marginLeft:x, marginTop:y});//控件新位置
      }
    }
  }).mouseup(function(){
    _move=false;
    _dragBody.fadeTo("fast", 1);
    $("body").removeAttr("style"); //移除不能选文字
  });
});

以上所述是小编给大家介绍的jQuery窗口拖动功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS trim去空格的最佳实践
Oct 30 Javascript
jquery实现弹出层完美居中效果
Mar 03 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
JavaScript极简入门教程(三):数组
Oct 25 Javascript
js实现iframe自动自适应高度的方法
Feb 17 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
js实现圆盘记速表
Aug 03 Javascript
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
JavaScript使用Range调色及透明度实例
Sep 25 Javascript
对于防止按钮重复点击的尝试详解
Apr 22 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 Javascript
简单易懂的天气插件(代码分享)
Feb 04 #Javascript
URL中“#” “?” &amp;“”号的作用浅析
Feb 04 #Javascript
Angularjs 依赖压缩及自定义过滤器写法
Feb 04 #Javascript
javascript实现复选框全选或反选
Feb 04 #Javascript
JavaScript获取当前时间向前推三个月的方法示例
Feb 04 #Javascript
javascript表单正则应用
Feb 04 #Javascript
JS中的phototype详解
Feb 04 #Javascript
You might like
php实现加减法验证码代码
2014/02/14 PHP
为你总结一些php信息函数
2015/10/21 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
PHP编写RESTful接口
2016/02/23 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
原生js实现分页效果
2020/09/23 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
详解Python字典的操作
2019/03/04 Python
python 命名规范知识点汇总
2020/02/14 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
shell程序中如何注释
2012/02/17 面试题
农村党支部先进事迹
2014/01/14 职场文书
超市开店计划书
2014/04/26 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
学生会个人总结范文
2015/02/15 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
2019销售早会主持词
2019/06/27 职场文书