Home >Web Front-end >JS Tutorial >Modification of jqDnR drag overflow based on jquery_jquery

Modification of jqDnR drag overflow based on jquery_jquery

WBOY
WBOYOriginal
2016-05-16 18:10:501048browse
Copy code The code is as follows:

/*
* jqDnR - Minimalistic Drag'n'Resize for jQuery.
*
* Copyright (c) 2007 Brice Burgess , 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: If you cannot come back after overflow, add moving within the range
*/
(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') {
//Modified position Li Fei February 11, 2011 14:35:19
E .css({ left: (M.X v.pageX - M.pX)<0? 0:(M.X v.pageX - M.pX)}
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);
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn