ホームページ >ウェブフロントエンド >jsチュートリアル >jquery_jqueryに基づくjqDnRドラッグオーバーフローの修正

jquery_jqueryに基づくjqDnRドラッグオーバーフローの修正

WBOY
WBOYオリジナル
2016-05-16 18:10:501042ブラウズ
コードをコピー コードは次のとおりです:

/*
* 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)}
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) ; ('mousemove', J.drag).unbind('mouseup', J.stop); }
}
var J = $.jqDnR, M = 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 = {}
// IE の問題を修正するためにディメンション プラグインの使用を試みます。
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') || Y: p.top || || 0、W: f('width') || E[0].scrollWidth || 0、f('height') || 0、pX: v.pageX、pY : v.pageY, k: d.k, o: E.css('opacity') };
E.css({ opacity: 0.8 }); $(document).mousemove($ .jqDnR.drag). ($.jqDnR.stop);
return false;
});
},
f = function(k) { return parseInt (E.css(k)) ) || };
})(jQuery);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。