基于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 相关文章推荐
List all the Databases on a SQL Server
Jun 21 Javascript
初试jQuery EasyUI 使用介绍
Apr 01 Javascript
jQuery与其它库冲突的解决方法
Jun 25 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
AngularJS入门教程之控制器详解
Jul 27 Javascript
深入理解js generator数据类型
Aug 16 Javascript
jQuery实现的放大镜效果示例
Sep 13 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
微信小程序 setData使用方法及常用错误解决办法
May 11 Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 Javascript
使用JavaScript根据图片获取条形码的方法
Jul 04 Javascript
解决layui弹出层layer的area过大被遮挡的问题
Sep 21 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
用PHP来写记数器(详细介绍)
2006/10/09 PHP
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
第七章 php自定义函数实现代码
2011/12/30 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
JavaScript之数组(Array)详解
2015/04/01 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
python实现PID算法及测试的例子
2019/08/08 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
门前三包责任书
2014/04/15 职场文书
高一新生军训方案
2014/05/12 职场文书
英文演讲稿
2014/05/15 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
单位工作证明书格式
2014/10/04 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
2015年高三教学工作总结
2015/07/21 职场文书