From a2899b145feecfae98b2338e5b8f5e0415efa76b Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Thu, 9 Jul 2009 11:17:19 +0000 Subject: replacing bgiframe with ui.stackfix, updated dialog and its demos accordingly --- ui/ui.dialog.js | 6 +++--- ui/ui.stackfix.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 ui/ui.stackfix.js (limited to 'ui') diff --git a/ui/ui.dialog.js b/ui/ui.dialog.js index dc10b075d..da7c677c1 100644 --- a/ui/ui.dialog.js +++ b/ui/ui.dialog.js @@ -134,7 +134,7 @@ $.widget("ui.dialog", { self._createButtons(options.buttons); self._isOpen = false; - (options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe()); + (options.stackfix && $.fn.stackfix && uiDialog.stackfix()); (options.autoOpen && self.open()); }, @@ -526,7 +526,7 @@ $.extend($.ui.dialog, { version: "@VERSION", defaults: { autoOpen: true, - bgiframe: false, + stackfix: false, buttons: {}, closeOnEscape: true, closeText: 'close', @@ -596,7 +596,7 @@ $.extend($.ui.dialog.overlay, { height: this.height() }); - (dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe()); + (dialog.options.stackfix && $.fn.stackfix && $el.stackfix()); this.instances.push($el); return $el; diff --git a/ui/ui.stackfix.js b/ui/ui.stackfix.js new file mode 100644 index 000000000..e789e829c --- /dev/null +++ b/ui/ui.stackfix.js @@ -0,0 +1,46 @@ +/* + * jQuery UI Stackfix @VERSION + * + * Copyright (c) 2008 Brandon Aaron (http://brandonaaron.net) + * to be replaced with...? + * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) + * + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/Plugins/bgiframe + * to be moved to...? + * http://docs.jquery.com/UI/Stackfix + * + */ + +(function($){ + +// This is only for IE6 +$.fn.stackfix = $.browser.msie && /6.0/.test(navigator.userAgent) ? function(s) { + s = $.extend({ + top : 'auto', // auto == .currentStyle.borderTopWidth + left : 'auto', // auto == .currentStyle.borderLeftWidth + width : 'auto', // auto == offsetWidth + height : 'auto', // auto == offsetHeight + opacity : true, + src : 'javascript:false;' + }, s || {}); + var prop = function(n){return n&&n.constructor==Number?n+'px':n;}, + html = '