基于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 相关文章推荐
Display SQL Server Login Mode
Jun 21 Javascript
js 操作select相关方法函数
Dec 06 Javascript
jquery访问ashx文件示例代码
Aug 11 Javascript
JS实现超精简响应鼠标显示二级菜单代码
Sep 12 Javascript
AngularGauge 属性解析详解
Sep 06 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
Sep 11 Javascript
详解如何用VUE写一个多用模态框组件模版
Sep 27 Javascript
详解vue-cli@2.x项目迁移日志
Jun 06 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
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
PHP去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
python实现大转盘抽奖效果
2019/01/22 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
上级检查欢迎词
2014/01/18 职场文书
《我的信念》教学反思
2014/02/15 职场文书
群众路线党课主持词
2014/04/01 职场文书
爱国演讲稿400字
2014/05/07 职场文书
物流管理专业推荐信
2014/09/06 职场文书
创新社会管理心得体会
2014/09/12 职场文书
小学少先队活动总结
2015/05/08 职场文书
父亲节感言
2015/08/03 职场文书
单位车辆管理制度
2015/08/05 职场文书
win10下go mod配置方式
2021/04/25 Golang
JavaScript 对象创建的3种方法
2021/11/17 Javascript