Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Совместить For и If (https://javascript.ru/forum/misc/20624-sovmestit-i-if.html)

zornig 11.08.2011 16:05

Совместить 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) {
запускаем циклы с изменением цветов, только в обратном направлении
}

Но как сделать так, чтобы кнопка снова активна была ?
... или не правильно ямыслю ?

devote 11.08.2011 16:13

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";
   }
}

ksa 11.08.2011 16:15

zornig, ты пример полностью работоспособный сделай для начала... На нём и покажут...


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