基于jquery的jqDnR拖拽溢出的修改


Posted in Javascript onFebruary 12, 2011
/* 
* jqDnR - Minimalistic Drag'n'Resize for jQuery. 
* 
* Copyright (c) 2007 Brice Burgess <bhb@iceburg.net>, http://www.iceburg.net/ 
* Licensed under the MIT License: 
* http://www.opensource.org/licenses/mit-license.php 
* 
* $Version: 2007.08.19 +r2 
* last modified by leegle 2011.02.11 
* fix bug:溢出之后不能回来的,添加在范围内移动 
*/ 
(function($) { 
$.fn.jqDrag = function(h) { return i(this, h, 'd'); }; 
$.fn.jqResize = function(h) { return i(this, h, 'r'); }; 
$.jqDnR = { dnr: {}, e: 0, 
drag: function(v) { 
if (M.k == 'd') { 
//修改的位置 李飞二?一一年二月十一日 14:35:19 
E.css({ left: (M.X + v.pageX - M.pX)<0? 0:(M.X + v.pageX - M.pX)<document.documentElement.clientWidth- M.W?(M.X + v.pageX - M.pX):document.documentElement.clientWidth- M.W, top: (M.Y + v.pageY - M.pY)<0?0:(M.Y + v.pageY - M.pY)<document.documentElement.clientHeight -M.H ?(M.Y + v.pageY - M.pY): document.documentElement.clientHeight- M.H }); 
} 
else {E.css({ width: Math.max(v.pageX - M.pX + M.W, 0), height: Math.max(v.pageY - M.pY + M.H, 0) }); return false;} 
}, 
stop: function() { E.css('opacity', M.o); $(document).unbind('mousemove', J.drag).unbind('mouseup', J.stop); } 
}; 
var J = $.jqDnR, M = J.dnr, E = J.e, 
i = function(e, h, k) { 
return e.each(function() { 
h = (h) ? $(h, e) : e; 
h.bind('mousedown', { e: e, k: k }, function(v) { 
var d = v.data, p = {}; E = d.e; 
// attempt utilization of dimensions plugin to fix IE issues 
if (E.css('position') != 'relative') { 
p = E.position(); 
if (!($.browser.msie && ($.browser.version == "6.0")) && (E.css('position') == 'fixed')) { 
p.top -= $(window).scrollTop(); p.left -= $(window).scrollLeft() 
} 
} 
M = { X: p.left || f('left') || 0, Y: p.top || f('top') || 0, W: f('width') || E[0].scrollWidth || 0, H: f('height') || E[0].scrollHeight || 0, pX: v.pageX, pY: v.pageY, k: d.k, o: E.css('opacity') }; 
E.css({ opacity: 0.8 }); $(document).mousemove($.jqDnR.drag).mouseup($.jqDnR.stop); 
return false; 
}); 
}); 
}, 
f = function(k) { return parseInt(E.css(k)) || false; }; 
})(jQuery);
Javascript 相关文章推荐
JS加ASP二级域名转向的代码
May 17 Javascript
checkbox全选所涉及到的知识点介绍
Dec 31 Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 Javascript
JavaScript中setMonth()方法的使用详解
Jun 11 Javascript
浅析Bootstrap缩略图组件与警示框组件
Apr 29 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
AJAX和jQuery动态加载数据的实现方法
Dec 05 Javascript
谈谈JS中的!!
Dec 07 Javascript
webpack热模块替换(HMR)/热更新的方法
Apr 05 Javascript
总结4个方面优化Vue项目
Feb 11 Javascript
深度了解vue.js中hooks的相关知识
Jun 14 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
Sep 24 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
Feb 12 #Javascript
在vs2010中调试javascript代码方法
Feb 11 #Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 #Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
Feb 11 #Javascript
juqery 学习之五 文档处理 插入
Feb 11 #Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
Feb 11 #Javascript
Javascript面向对象之四 继承
Feb 08 #Javascript
You might like
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
Js动态创建div
2008/09/25 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python通过select实现异步IO的方法
2015/06/04 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
python 常用的基础函数
2018/07/10 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
酒店办公室文员岗位职责
2013/12/18 职场文书
学校节水倡议书
2015/04/29 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
加强党性修养心得体会
2016/01/21 职场文书
数学复习课教学反思
2016/02/18 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
Python实战之疫苗研发情况可视化
2021/05/18 Python
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python