基于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 相关文章推荐
Jquery判断IE6等浏览器的代码
Apr 05 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
May 25 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
vue实现个人信息查看和密码修改功能
May 06 Javascript
使用watch在微信小程序中实现全局状态共享
Jun 03 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
JavaScript 禁止用户保存图片的实现代码
Apr 28 Javascript
iview实现图片上传功能
Jun 29 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
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
javascript 常用方法总结
2009/06/03 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
交通事故协议书
2014/04/15 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书