Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function($) {
  2.     $.fn.drags = function(opt) {
  3.         opt = $.extend({handle:"",cursor:"move"}, opt);
  4.         if(opt.handle === "") {
  5.             var $el = this;
  6.         } else {
  7.             var $el = this.find(opt.handle);
  8.         }
  9.         return $el.css('cursor', opt.cursor).on("mousedown", function(e) {
  10.             if(opt.handle === "") {
  11.                 var $drag = $(this).addClass('draggable');
  12.             } else {
  13.                 var $drag = $(this).addClass('active-handle').parent().addClass('draggable');
  14.             }
  15.             var z_idx = $drag.css('z-index'),
  16.                 drg_h = $drag.outerHeight(),
  17.                 drg_w = $drag.outerWidth(),
  18.                 pos_y = $drag.offset().top + drg_h - e.pageY,
  19.                 pos_x = $drag.offset().left + drg_w - e.pageX;
  20.  
  21.             $drag.parents().on("mousemove", function(e) {
  22.                 $('.draggable').offset({
  23.                 top:e.pageY + pos_y - drg_h,
  24.                 left:e.pageX + pos_x - drg_w
  25.                 }).on("mouseup", function() {
  26.                 $(this).removeClass('draggable').css('z-index', z_idx);
  27.                 });
  28.             });
  29.             e.preventDefault();
  30.         }).on("mouseup", function() {
  31.             if(opt.handle === "") {
  32.                 $(this).removeClass('draggable');
  33.             } else {
  34.                 $(this).removeClass('active-handle').parent().removeClass('draggable');
  35.             }
  36.         });
  37.     }
  38. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement