基于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.extend函数扩展自己对象的js代码
Dec 09 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 Javascript
Jquery api 速查表分享
Jan 12 Javascript
apply和call方法定义及apply和call方法的区别
Nov 15 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
详解vue中this.$emit()的返回值是什么
Apr 07 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 Javascript
在vue中获取wangeditor的html和text的操作
Oct 23 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 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 获取一个月第一天与最后一天的代码
2010/05/16 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
python for和else语句趣谈
2019/07/02 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
python爬虫可以爬什么
2020/06/16 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
加工操作管理制度
2014/01/19 职场文书
初中生自我鉴定
2014/02/04 职场文书
投资建议书模板
2014/05/12 职场文书
党员民主评议个人总结
2014/10/20 职场文书
简短清晨问候语
2015/11/10 职场文书
课改心得体会范文
2016/01/25 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js