Эффект прозрачности в IE6

 
0
 
JavaScript
ava
Роман | 11.08.2007, 19:47
Для эффектов прозрачности используется следующий код:

function setOpacity(value) {
testObj.style.opacity = value/10;
testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

Если этот код использовать для дива с текстом, то текст начинает двоится.
Эту проблему, кажется, можно решить установив непрозрачным фон дива, но мне нужен именно прозрачный див.

Может кто знает как решить проблему?
Comments (3)
ava
smartov | 11.08.2007, 19:56 #
Роман,
1) value - зарезервированное слово в яваскрипте, им лучше не пользоваться.
2) я написал для себя пример и проверил
Код ниже. Все работает нормально. Ошибка у тебя где-то в другом месте, наверное где-то продублировал слой


<html>
<body style="backgorund: #FFAAFF;margin:0">
Another text<br/>
Another text<br/>
Another text<br/>
Another text<br/>

<div id="myDiv" style="opacity:0.5; filter: alpha(opacity=50); background: blue; color: red;position:absolute;left:10;top:10;z-index:2">
I am text. Thay say IE shows me incorrect,<br/> but I seemes to be Ok.

</div>

<input type="button" value="10%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="20%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="30%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="40%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="50%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="60%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="70%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="80%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="90%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="100%" onclick="setOpacity($div, parseInt(this.value, 10))" />

<script>

var $div = document.getElementById('myDiv');

function setOpacity(object, opacity) {
object.style.opacity = opacity/100;
object.style.filter = 'alpha(opacity='+opacity+')';
}

</script>

</body>
</HTML>


[img]http://thumbnails.freeimagehost.eu/79/1650a1781239.gif[/img]
ava
Роман | 11.08.2007, 20:04 #
Цитата (Роман @ 11.8.2007, 18:47 findReferencedText)
Эту проблему, кажется, можно решить установив непрозрачным фон дива...


smile Потому и работает.

Делаем поправочку:


<html>
<body style="backgorund: #FFAAFF;margin:0">
Another text<br/>
Another text<br/>
Another text<br/>
Another text<br/>
<div id="myDiv" style="opacity:0.5; filter: alpha(opacity=50); color: red;position:absolute;left:10;top:10;z-index:2">
I am text. Thay say IE shows me incorrect,<br/> but I seemes to be Ok.
</div>
<input type="button" value="10%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="20%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="30%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="40%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="50%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="60%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="70%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="80%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="90%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<input type="button" value="100%" onclick="setOpacity($div, parseInt(this.value, 10))" />
<script>
var $div = document.getElementById('myDiv');
function setOpacity(object, opacity) {
object.style.opacity = opacity/100;
object.style.filter = 'alpha(opacity='+opacity+')';
}
</script>
</body>
</HTML>


И наблюдаем проблему.
ava
smartov | 12.08.2007, 13:34 #
Роман, ясно.

Думаю ноги растут оттуда же, откуда и неподдержка прозрачных png - отсутсвие поддержки 32-битной прозрачности. Он просто не в состоянии сгладить текст, когда его нечем "оттенять".
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit