Takazudo
11/22/2010 - 12:33 PM

$.ui.overflowKiller - kill overflow temporary.

$.ui.overflowKiller - kill overflow temporary.

/**
 * $.ui.overflowKiller
 * attach this to 'html'
 */
$.widget('ui.overflowKiller', {
	options: {
		killXY: false,
		killX: true,
		killY: false
	},
	kill: function(){
		var $el = this.element;
		var o = this.options;
		this._lastOverflow = $el.css('overflow');
		this._lastOverflowX = $el.css('overflow-x');
		this._lastOverflowY = $el.css('overflow-y');
		var vals = {};
		if(o.killXY){ vals.overflow = 'hidden'; }
		if(o.killX){ vals.overflowX = 'hidden'; }
		if(o.killY){ vals.overflowY = 'hidden'; }
		$el.css(vals);
		return this;
	},
	resurrect: function(){
		var vals = {};
		var o = this.options;
		if(o.killXY){ vals.overflow = this._lastOverflow; }
		if(o.killX){ vals.overflowX = this._lastOverflowX; }
		if(o.killY){ vals.overflowY = this._lastOverflowY; }
		this.element.css(vals);
		return this;
	}
});