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 相关文章推荐
jQuery源码分析之Event事件分析
Jun 07 Javascript
一个基于jquery的图片切换效果
Jul 06 Javascript
jQuery获取地址栏参数插件(模仿C#)
Oct 26 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
Jun 05 Javascript
jquery 判断selection range 是否在容器中的简单实例
Aug 02 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
Dec 25 Javascript
js实现3D图片环展示效果
Mar 09 Javascript
使用react-router4.0实现重定向和404功能的方法
Aug 28 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
使用ThinkJs搭建微信中控服务的实现方法
Aug 08 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
Jun 21 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 获得汉字拼音首字母的函数
2009/08/01 PHP
一个比较简单的PHP 分页分组类
2009/12/10 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
javascript学习网址备忘
2007/05/29 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python爬取三国演义的实现方法
2016/09/12 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
python函数的万能参数传参详解
2019/07/26 Python
详解Python文件修改的两种方式
2019/08/22 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
Python3.9新特性详解
2020/10/10 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
求职自荐信格式
2013/12/04 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
小区文明倡议书
2014/05/16 职场文书
普通党员对照检查材料
2014/08/28 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
什么是SOLID
2022/03/24 Javascript
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS