Совместить For и If
Всем привет, у меня есть функция:
<script type="text/javascript"> function setCSS () { for (var i = 0; i < document.getElementsByTagName("Stroka1").length; i++) { document.getElementsByTagName("Stroka1")[i].style.backgroundColor = "#ffffff"; for (var j = 0; j < document.getElementsByTagName("Stroka2").length; j++) { document.getElementsByTagName("Stroka2")[j].style.backgroundColor = "#C0C0C0"; } } } </script> <Input type="button" value="Farbe ändern" onClick="setCSS()"> При нажатии на кнопку (button), функция setCSS меняет цвет всех ячеек строки 1 (Stroka1) на #ffffff, а строки строки 2 (Stroka1) на #C0C0C0. Если кнопка 1 была нажата, то она больше не активна. А мне нужно зделать так, чтобы при повторном нажатии на кнопку, цвета менялись наоборот, т.е чтобы цвет всех ячеек строки 1 (Stroka1) менялся на #C0C0C0, а строки строки 2 (Stroka1) на #ffffff Скажите пожалуйста, как будет выглядеть схема для данной функции, а то я пока не представляю как реалищируют такие функции. я примерно понимаю, как это выглядит: function setCSS () { for (код) { цикл1 - изменяет цвет строки1 for (код) { цикл2 - изменяет цвет строки2 } } } } if (цвет строки1= #ffffff) { запускаем циклы с изменением цветов, только в обратном направлении } Но как сделать так, чтобы кнопка снова активна была ? ... или не правильно ямыслю ? |
function setCSS () { var i, str1 = document.getElementsByTagName("Stroka1"), str2 = document.getElementsByTagName("Stroka2"); for( i = 0; str1[i]; i++ ) { str1[ i ].style.backgroundColor = str1[ i ].style.backgroundColor == "#ffffff" ? "#c0c0c0" : "#ffffff"; } for( i = 0; str2[i]; i++ ) { str2[ i ].style.backgroundColor = str2[ i ].style.backgroundColor == "#ffffff" ? "#c0c0c0" : "#ffffff"; } } |
zornig, ты пример полностью работоспособный сделай для начала... На нём и покажут...
|
Часовой пояс GMT +3, время: 11:55. |