уменьшение 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, время: 16:52. |