41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
![]() |
//Fix Transparent PNGs in IE6
|
||
|
jQuery.fn.supersleight = function(settings) {
|
||
|
settings = jQuery.extend({
|
||
|
imgs: true,
|
||
|
backgrounds: true,
|
||
|
shim: 'x.gif',
|
||
|
apply_positioning: true
|
||
|
}, settings);
|
||
|
|
||
|
return this.each(function(){
|
||
|
if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7 && parseInt(jQuery.browser.version, 10) > 4) {
|
||
|
jQuery(this).find('*').andSelf().each(function(i,obj) {
|
||
|
var self = jQuery(obj);
|
||
|
// background pngs
|
||
|
if (settings.backgrounds && self.css('background-image').match(/\.png/i) !== null) {
|
||
|
var bg = self.css('background-image');
|
||
|
var src = bg.substring(5,bg.length-2);
|
||
|
var mode = (self.css('background-repeat') == 'no-repeat' ? 'crop' : 'scale');
|
||
|
var styles = {
|
||
|
'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')",
|
||
|
'background-image': 'url('+settings.shim+')'
|
||
|
};
|
||
|
self.css(styles);
|
||
|
};
|
||
|
// image elements
|
||
|
if (settings.imgs && self.is('img[src$=png]')){
|
||
|
var styles = {
|
||
|
'width': self.width() + 'px',
|
||
|
'height': self.height() + 'px',
|
||
|
'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + self.attr('src') + "', sizingMethod='scale')"
|
||
|
};
|
||
|
self.css(styles).attr('src', settings.shim);
|
||
|
};
|
||
|
// apply position to 'active' elements
|
||
|
if (settings.apply_positioning && self.is('a, input') && (self.css('position') === '' || self.css('position') == 'static')){
|
||
|
self.css('position', 'relative');
|
||
|
};
|
||
|
});
|
||
|
};
|
||
|
});
|
||
|
};
|