Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Полупрозрачный PNG, jQuery и хренов ИЕ (https://javascript.ru/forum/css-html/11886-poluprozrachnyjj-png-jquery-i-khrenov-ie.html)

egoistu 19.09.2010 13:58

Полупрозрачный PNG, jQuery и хренов ИЕ
 
Всем привет...
Поделитесь пожалуйсто решением...
Значит вот в чём дело:
Есть небольшой блок с фотками пользователей...
фотка содержится в div-е, при наведение на одну из них срабатывает скрипт jQuery который немного увеличивает фотку (ну немного по другому...)

$("#photoBox").fadeIn("fast");

теперь сама проблемма:
этот самый div в качестве задника использует полупрозрачный PNG
так вот когда скрипт меняет прозрачность всего div-а (в ИНТЕРНЕТ ЕКПЛОРЕРЕ), прозрачная область изображения становится чёрной.
Как это можно исправить чтоб норм всё было?

страница... http://www.marketing.md/users/public

monolithed 25.09.2010 15:24

Для jQuery есть плагин pngFix/


доп. вообще, на мой взгляд самое элегантное решение

fixpng.js
function fixPNG(element){
	if(/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
		var src;
		if(element.tagName=='IMG'){
			if (/\.png$/.test(element.src)){
				src = element.src;
				element.src = "/images/spacer.gif";
			}
		}
		else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if(src){
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		if(src){
			element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
		}
	}
}


Инициализация:

<!--[if lt IE 7]>
<script type="text/javascript" src="/fixpng.js"></script>
<style type="text/css">
.iePNG, img { filter:expression(fixPNG(this)); }
.iePNG a { position: relative; }
</style>
<![endif]-->

subzey 25.09.2010 15:45

Попробуйте делать .fadeIn() не самой картинке, а ее родительскому элементу


Часовой пояс GMT +3, время: 10:36.