>웹 프론트엔드 >JS 튜토리얼 >jquery_jquery를 기반으로 하는 jqDnR 드래그 오버플로 수정

jquery_jquery를 기반으로 하는 jqDnR 드래그 오버플로 수정

WBOY
WBOY원래의
2016-05-16 18:10:501044검색
코드 복사 코드는 다음과 같습니다.

/*
* jqDnR - Minimalistic Drag'n 'JQuery에 맞게 크기 조정.
*
* Copyright (c) 2007 Brice Burgess , http://www.iceburg.net/
* MIT 라이선스에 따라 라이선스가 부여됨:
* http://www.opensource.org/licenses/mit-license.php
*
* $Version: 2007.08.19 r2
* 최종 수정일: leegle 2011.02.11
* 버그 수정: 오버플로 후 돌아올 수 없으면
*/
(function($) {
$.fn.jqDrag = function(h) { return i(this, h 범위 내에서 이동을 추가하세요. , 'd') ; };
$.fn.jqResize = function(h) { return i(this, h, 'r') }; : 0,
drag: function(v) {
if (M.k == 'd') {
//수정된 위치 Li Fei 2011년 2월 11일 14:35:19
E .css ({ 왼쪽: (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
// IE 문제를 해결하기 위해 차원 플러그인 활용 시도
if (E.css('position') != 'relative') {
p = E.position()
if (!($.browser.msie && ($.browser.version) == "6.0")) && (E.css('위치') == '고정')) {
p.top -= $(window).scrollTop() p .left -= $(window ).scrollLeft()
}
}
M = { X: p.left || f('left') || 0, Y: p.top || f('top') | | 0, W: f('너비') || E[0].scrollWidth || 0, H: f('높이') || E[0].scrollHeight || 0, pX: v.pageX : 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) { returnparseInt(E.css(k) ) || 거짓 };
})(jQuery);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.