基于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 拼图游戏 面向对象,注释完整。
Jun 18 Javascript
子窗口、父窗口和Silverlight之间的相互调用
Aug 16 Javascript
探索Emberjs制作一个简单的Todo应用
Nov 07 Javascript
使用jquery修改表单的提交地址基本思路
Jun 04 Javascript
JQuery实现的图文自动轮播效果插件
Jun 19 Javascript
Bootstrap每天必学之按钮
Nov 26 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
Vue.js实现文章评论和回复评论功能
May 30 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
基于JavaScript canvas绘制贝塞尔曲线
Dec 25 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
vue router-link 默认a标签去除下划线的实现
Nov 06 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
PHP操作xml代码
2010/06/17 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php在线代理转向代码
2012/05/05 PHP
Smarty模板简单配置与使用方法示例
2016/05/23 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
vue自定义正在加载动画的例子
2019/11/14 Javascript
详解Python发送邮件实例
2016/01/10 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
KTV的创业计划书范文
2014/02/02 职场文书
文明风采获奖感言
2014/02/18 职场文书
村级换届选举方案
2014/05/10 职场文书
合同纠纷调解书
2015/05/20 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers