aboutsummaryrefslogtreecommitdiffstats
path: root/ui/ui.stackfix.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/ui.stackfix.js')
-rw-r--r--ui/ui.stackfix.js46
1 files changed, 46 insertions, 0 deletions
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 = '<iframe class="ui-stackfix"frameborder="0"tabindex="-1"src="'+s.src+'"'+
+ 'style="display:block;position:absolute;z-index:-1;'+
+ (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
+ 'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
+ 'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
+ 'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
+ 'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
+ '"/>';
+ return this.each(function() {
+ if ( $('> iframe.ui-stackfix', this).length == 0 )
+ this.insertBefore( document.createElement(html), this.firstChild );
+ });
+} : function() {
+ return this;
+};
+
+})(jQuery); \ No newline at end of file