уменьшение opacity работает, увеличение - не работает
Здравствуйте.
Простейший пример, не понимаю в чем разница ведь меняю только минут на плюс... :blink: так работает (непрозрачность уменьшается)
<html><head><title></title></head>
<body>
<script>
window.onload=function(){
obj = document.getElementById("li_1");
obj.style.opacity = 1;
while (obj.style.opacity > 0 ) {
alert("opacity = "+obj.style.opacity);
obj.style.opacity = obj.style.opacity - 0.2;
}
}
</script>
<ul class="slider" id="idSlider">
<li id="li_1"><div style="width:100px;height:100px;background-color:red;"></div></li>
</ul>
</body>
</html>
а так не работает (срабатывает только первый шаг увеличения)
<html><head><title></title></head>
<body>
<script>
window.onload=function(){
obj = document.getElementById("li_1");
obj.style.opacity = 0;
while (obj.style.opacity < 1 ) {
alert("opacity = "+obj.style.opacity);
obj.style.opacity = obj.style.opacity + 0.2;
}
}
</script>
<ul class="slider" id="idSlider">
<li id="li_1"><div style="width:100px;height:100px;background-color:red;"></div></li>
</ul>
</body>
</html>
|
Минус приводит строку к числу, а плюс конкатенирует строки.
|
Пробуем так
<html><head><title></title></head>
<body>
<script>
window.onload=function(){
obj = document.getElementById("li_1");
obj.style.opacity = 0;
while (obj.style.opacity < 1 ) {
alert("opacity = "+obj.style.opacity);
obj.style.opacity = +obj.style.opacity + 0.2;
}
}
</script>
<ul class="slider" id="idSlider">
<li id="li_1"><div style="width:100px;height:100px;background-color:red;"></div></li>
</ul>
</body>
</html>
|
но если пишу
obj.style.opacity = parseInt(obj.style.opacity) + 0.2; то тоже не работает |
Polkan, мой вариант работает (смотрел в Опере)...
|
ksa, спасибо!
а что означает такая запись? +obj.style.opacity |
Цитата:
|
dmitriymar, спасибо, добавлю на всякий случай parseInt в сравнение, хотя оно и так работает
|
Цитата:
parseFloat и не только в сравнение но и в добавление. поскольку там где циклы не проскочит-и дальше будет работать как со строкой |
dmitriymar, ага, спасибо!
|
| Часовой пояс GMT +3, время: 01:37. |