Перетаскиваемый блок без использования jQueryUI
Просмотров : 624 1-06-2013, 01:30
Дробно случается надобно сделать перетаскиваемый блок?
Однако ведь подключать монструозную библиотеку jQueryUI ради одного-двух блоков не владеет резона.
Безыскусный плагин для jquery постановит проблему, если не нужны все возможности jQueryUI
Плагин:
( function( $){
$.fn.drags = function( opt){
opt = $.extend( {handle:"",cursor:"move"}, opt);
if( opt.handle === ""){
var $el = this;
} else {
var $el = this.find( opt.handle);
}
return $el.css( 'cursor', opt.cursor).on( "mousedown", function( e){
if( opt.handle === ""){
var $drag = $( this).addClass( 'draggable');
} else {
var $drag = $( this).addClass( 'active-handle').parent().addClass( 'draggable');
}
var z_idx = $drag.css( 'z-index'),
drg_h = $drag.outerHeight(),
drg_w = $drag.outerWidth(),
pos_y = $drag.offset().top + drg_h - e.pageY,
pos_x = $drag.offset().left + drg_w - e.pageX;
$drag.css( 'z-index', 1000).parents().on( "mousemove", function( e){
$( '.draggable').offset( {
top:e.pageY + pos_y - drg_h,
left:e.pageX + pos_x - drg_w
}).on( "mouseup", function(){
$( this).removeClass( 'draggable').css( 'z-index', z_idx);
});
});
e.preventDefault(); // disable selection
}).on( "mouseup", function(){
if( opt.handle === ""){
$( this).removeClass( 'draggable');
} else {
$( this).removeClass( 'active-handle').parent().removeClass( 'draggable');
}
});
}
})( jQuery);
Инициализация:
jQuery( document).ready( function( $){
$( '.dragme').drags();
});
Измерить: dle-faq.pro, DLE
Однако ведь подключать монструозную библиотеку jQueryUI ради одного-двух блоков не владеет резона.
Безыскусный плагин для jquery постановит проблему, если не нужны все возможности jQueryUI
Плагин:
( function( $){
$.fn.drags = function( opt){
opt = $.extend( {handle:"",cursor:"move"}, opt);
if( opt.handle === ""){
var $el = this;
} else {
var $el = this.find( opt.handle);
}
return $el.css( 'cursor', opt.cursor).on( "mousedown", function( e){
if( opt.handle === ""){
var $drag = $( this).addClass( 'draggable');
} else {
var $drag = $( this).addClass( 'active-handle').parent().addClass( 'draggable');
}
var z_idx = $drag.css( 'z-index'),
drg_h = $drag.outerHeight(),
drg_w = $drag.outerWidth(),
pos_y = $drag.offset().top + drg_h - e.pageY,
pos_x = $drag.offset().left + drg_w - e.pageX;
$drag.css( 'z-index', 1000).parents().on( "mousemove", function( e){
$( '.draggable').offset( {
top:e.pageY + pos_y - drg_h,
left:e.pageX + pos_x - drg_w
}).on( "mouseup", function(){
$( this).removeClass( 'draggable').css( 'z-index', z_idx);
});
});
e.preventDefault(); // disable selection
}).on( "mouseup", function(){
if( opt.handle === ""){
$( this).removeClass( 'draggable');
} else {
$( this).removeClass( 'active-handle').parent().removeClass( 'draggable');
}
});
}
})( jQuery);
Инициализация:
jQuery( document).ready( function( $){
$( '.dragme').drags();
});
Измерить: dle-faq.pro, DLE
Немного информации об материале: Сегодня в 1-06-2013, 01:30 наш лучший журналист -admin нашел на просторах интернета новость - Перетаскиваемый блок без использования jQueryUI и сразу же добавил ее к нам на сайт!Хотелось бы добавить, что наш журналист подобрал лучшие файлообменники для скачавания Перетаскиваемый блок без использования jQueryUI , кроме того оформление новости и самого файла находится в отличном качестве, тем более можно Перетаскиваемый блок без использования jQueryUI скачать бесплатно и без регистрации и смс. А так же советуем вам посетить Warez чтоб найти похожие отличные материалы, как и этот!