基于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 相关文章推荐
javascript之Partial Application学习
Jan 10 Javascript
javascript中使用正则计算中文长度的例子
Apr 29 Javascript
探究JavaScript函数式编程的乐趣
Dec 14 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 Javascript
jQuery 表单序列化实例代码
Jun 11 jQuery
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
AngularJS 仿微信图片手势缩放的实例
Sep 28 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 Javascript
详解如何在vue项目中引入elementUI组件
Feb 11 Javascript
jQuery 选择器用法实例分析【prev + next】
May 22 jQuery
jQuery实现放大镜案例
Oct 19 jQuery
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
实用函数10
2007/11/08 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
什么是属性访问器
2015/10/26 面试题
八项规定对照检查材料
2014/08/31 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
安全教育观后感
2015/06/17 职场文书
回复函范文
2015/07/14 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书