Files
86box.github.io/assets/js/style-reduced.js

50 lines
1.6 KiB
JavaScript

/* Helper script for the retro-reduced stylesheet. */
/* Get an image's real width. Used by the auto-sizing CSS expression. */
var imgCache = {};
function getNaturalWidth(img) {
if (img.naturalWidth) {
return img.naturalWidth;
} else {
/* Cache images through src to avoid memory waste. */
var img2 = imgCache[img.src];
if (!img2) {
img2 = new Image();
img2.src = img.src;
imgCache[img.src] = img2;
}
return img2.width;
}
}
/* Allow HTML5 elements to be styled. */
document.createElement('nav');
document.createElement('hero');
document.createElement('main');
document.createElement('footer');
/* Make the logo transparent on IE6. Doing this on more
images interferes with the auto-sizing CSS expression. */
function fixPngs() {
/* Check if the icon and logo are loaded, and try
again after a while if they're not present yet. */
if (!document.images || (document.images.length < 2))
setTimeout(fixPngs, 500);
/* Fix icon and logo. */
for (var i = 0; i < Math.min(2, document.images.length); i++) {
var img = document.images[i];
img.style.paddingRight = 0; /* padding counts as space for AlphaImageLoader so swap it for margin */
var oldsrc = img.src;
var oldw = img.clientWidth;
var oldh = img.clientHeight;
img.src = '/assets/images/blank.gif';
img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + oldsrc + "', sizingMethod='scale')";
img.style.width = oldw + 'px';
img.style.height = oldh + 'px';
img.style.marginRight = '20pt';
}
}
if (document.all && /MSIE (5\.5|6)/.test(navigator.userAgent))
fixPngs();