Revision: 47780
Updated Code
at June 16, 2011 06:50 by smashercosmo
Updated Code
/** * Make any html element draggable. * * @constructor * @param {Object} element Any html element * @param {Object} [options] Available options * @config {String} [axis] Forces element to move only vertically or horizontally. * Possible values: 'x' for horizontal movement, 'y' for vertical movement. Example { 'axis': 'x' }. * */ function Draggable(element, options){ this.el = element; this.o = options; this.el.position = { x: parseInt($(element).css('left')), y: parseInt($(element).css('top')) }; this._canMove = false; this._init(); } Draggable.prototype = { _offset: { x: 0, y: 0 }, _init: function(){ $(this.el).bind('mousedown', $.proxy(this._mousedown, this)); $(document).bind('mousemove', $.proxy(this._mousemove, this)); $(document).bind('mouseup', $.proxy(this._mouseup, this)); }, _mousedown: function(e){ e.preventDefault(); this._canMove = true; this._offset.x = $(this.el).offset().left - e.pageX; this._offset.y = $(this.el).offset().top - e.pageY; }, _mousemove: function(e){ if(this._canMove){ var x = this.o.axis === 'y' ? this.el.position.x : this._offset.x + e.pageX; var y = this.o.axis === 'x' ? this.el.position.y : this._offset.y + e.pageY; $(this.el).css({'left': x, 'top': y}); } }, _mouseup: function(){ this._canMove = false; } };
Revision: 47779
Updated Code
at June 16, 2011 06:49 by smashercosmo
Updated Code
/** * Make any html element draggable. * * @constructor * @param {Object} element Any html element * @param {Object} [options] Available options * @config {String} [axis] Forces element to move only vertically or horizontally. * Possible values: 'x' for horizontal movement, 'y' for vertical movement. Example { 'axis': 'x' }. * */ function Draggable(element, options){ this.el = element; this.o = options; this.el.position = { x: parseInt($(element).css('left')), y: parseInt($(element).css('top')) }; this._canMove = false; this._init(); } Draggable.prototype = { _offset: { x: 0, y: 0 }, _init: function(){ $(this.el).bind('mousedown', $.proxy(this._mousedown, this)); $(document).bind('mousemove', $.proxy(this._mousemove, this)); $(document).bind('mouseup', $.proxy(this._mouseup, this)); }, _mousedown: function(e){ e.preventDefault(); this._canMove = true; this._offset.x = $(this.el).offset().left - e.pageX; this._offset.y = $(this.el).offset().top - e.pageY; }, _mousemove: function(e){ if(this._canMove){ var x = this.o.axis === 'y' ? this.el.position.x : this._offset.x + e.pageX, y = this.o.axis === 'x' ? this.el.position.y : this._offset.y + e.pageY; $(this.el).css({'left': x, 'top': y}); } }, _mouseup: function(){ this._canMove = false; } };
Revision: 47778
Updated Code
at June 16, 2011 06:48 by smashercosmo
Updated Code
/** * Make any html element draggable. * * @constructor * @param {Object} element Any html element * @param {Object} [options] Available options * @config {String} [axis] Forces element to move only vertically or horizontally. * Possible values: 'x' for horizontal movement, 'y' for vertical movement. Example { 'axis': 'x' }. * */ function Draggable(element, options){ this.el = element; this.o = options; this.el.position = { x: parseInt($(element).css('left')), y: parseInt($(element).css('top')) }; this._canMove = false; this._init(); } Draggable.prototype = { _offset: { x: 0, y: 0 }, _init: function(){ $(this.el).bind('mousedown', $.proxy(this._mousedown, this)); $(document).bind('mousemove', $.proxy(this._mousemove, this)); $(document).bind('mouseup', $.proxy(this._mouseup, this)); }, _mousedown: function(e){ e.preventDefault(); this._canMove = true; this._offset.x = $(this.el).offset().left - e.pageX; this._offset.y = $(this.el).offset().top - e.pageY; }, _mousemove: function(e){ if(this._canMove){ var x = this.o.axis === 'y' ? this.el.position.x : this._offset.x + e.pageX, y = this.o.axis === 'x' ? this.el.position.y : this._offset.y + e.pageY; $(this.el).css({'left': x, 'top': y}); } }, _mouseup: function(){ this._canMove = false; } };
Revision: 47777
Updated Code
at June 16, 2011 06:48 by smashercosmo
Updated Code
/** * Make any html element draggable. * * @constructor * @param {Object} element Any html element * @param {Object} [options] Available options * @config {String} [axis] Forces element to move only vertically or horizontally. * Possible values: 'x' for horizontal movement, 'y' for vertical movement. Example { 'axis': 'x' }. * * @property {number} id The id of the person. * */ function Draggable(element, options){ this.el = element; this.o = options; this.el.position = { x: parseInt($(element).css('left')), y: parseInt($(element).css('top')) }; this._canMove = false; this._init(); } Draggable.prototype = { _offset: { x: 0, y: 0 }, _init: function(){ $(this.el).bind('mousedown', $.proxy(this._mousedown, this)); $(document).bind('mousemove', $.proxy(this._mousemove, this)); $(document).bind('mouseup', $.proxy(this._mouseup, this)); }, _mousedown: function(e){ e.preventDefault(); this._canMove = true; this._offset.x = $(this.el).offset().left - e.pageX; this._offset.y = $(this.el).offset().top - e.pageY; }, _mousemove: function(e){ if(this._canMove){ var x = this.o.axis === 'y' ? this.el.position.x : this._offset.x + e.pageX, y = this.o.axis === 'x' ? this.el.position.y : this._offset.y + e.pageY; $(this.el).css({'left': x, 'top': y}); } }, _mouseup: function(){ this._canMove = false; } };
Revision: 47776
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 16, 2011 06:47 by smashercosmo
Initial Code
/** * Make any html element draggable. * * @constructor * @param {Object} element Any html element * @param {Object} [options] Available options * @config {String} [axis] Forces element to move only vertically or horizontally. * Possible values: 'x' for horizontal movement, 'y' for vertical movement. Example { 'axis': 'x' }. * * @property {number} id The id of the person. * */ function Draggable(element, options){ this.el = element; this.o = options; this.el.position = { x: parseInt($(element).css('left')), y: parseInt($(element).css('top')) }; this._canMove = false; this._init(); this._limits() } Draggable.prototype = { _offset: { x: 0, y: 0 }, _init: function(){ $(this.el).bind('mousedown', $.proxy(this._mousedown, this)); $(document).bind('mousemove', $.proxy(this._mousemove, this)); $(document).bind('mouseup', $.proxy(this._mouseup, this)); }, _mousedown: function(e){ e.preventDefault(); this._canMove = true; this._offset.x = $(this.el).offset().left - e.pageX; this._offset.y = $(this.el).offset().top - e.pageY; }, _mousemove: function(e){ if(this._canMove){ var x = this.o.axis === 'y' ? this.el.position.x : this._offset.x + e.pageX, y = this.o.axis === 'x' ? this.el.position.y : this._offset.y + e.pageY; $(this.el).css({'left': x, 'top': y}); } }, _mouseup: function(){ this._canMove = false; } };
Initial URL
Initial Description
Initial Title
Simple draggable class
Initial Tags
Initial Language
JavaScript