From d42c8b528eb595101954f478e0024e3f079f6fbf Mon Sep 17 00:00:00 2001 From: schneefux Date: Wed, 22 Mar 2017 19:19:26 +0100 Subject: first implementation of fun stats site --- templates/assets/jquery/src/css/defaultDisplay.js | 72 +++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 templates/assets/jquery/src/css/defaultDisplay.js (limited to 'templates/assets/jquery/src/css/defaultDisplay.js') diff --git a/templates/assets/jquery/src/css/defaultDisplay.js b/templates/assets/jquery/src/css/defaultDisplay.js new file mode 100644 index 0000000..b1fb577 --- /dev/null +++ b/templates/assets/jquery/src/css/defaultDisplay.js @@ -0,0 +1,72 @@ +define( [ + "../core", + "../var/document", + "../manipulation" // appendTo +], function( jQuery, document ) { + +var iframe, + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ + +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + display = jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = ( iframe || jQuery( "