много повторяющихся условий
Здравствуйте!
У меня в скрипте идет 60! одинаковых условий. Меняются только циферки. Вот как они выглядят(на примере трех):
if (answ.charAt(0)=="1") {document.getElementById('otvet1').style.backgroundColor = "#afa"; document.getElementById('otvet1').innerHTML = "Верно";}
else {document.getElementById('otvet1').style.backgroundColor = "#faa"; document.getElementById('otvet1').innerHTML = "Не верно";};
if (answ.charAt(1)=="1") {document.getElementById('otvet2').style.backgroundColor = "#afa"; document.getElementById('otvet2').innerHTML = "Верно";}
else {document.getElementById('otvet2').style.backgroundColor = "#faa"; document.getElementById('otvet2').innerHTML = "Не верно";};
if (answ.charAt(2)=="1") {document.getElementById('otvet3').style.backgroundColor = "#afa"; document.getElementById('otvet3').innerHTML = "Верно";}
else {document.getElementById('otvet3').style.backgroundColor = "#faa"; document.getElementById('otvet3').innerHTML = "Не верно";};
Как сделать эту проверку одним универсальным условием? |
Цикл for. Видишь у тебя циферки меняются: 0, 1, 2. Вот и меняй их в цикле.
|
Чтот не фурычит((
var z=1;
for(var i=0; i<15; i++) {
if (answ.charAt([i])=="1") {document.getElementById('otvet[z]').style.backgroundColor = "#afa"; document.getElementById('otvet[z]').innerHTML = "Верно";}
else {document.getElementById('otvet[z]').style.backgroundColor = "#faa"; document.getElementById('otvet[z]').innerHTML = "Не верно";};
z+=1;
}
|
for (var i = 0; i < 15; i++) {
var element = document.getElementById('otvet' + (i + 1)), chAtEq = answ.charAt([i]) == "1";
element.style.backgroundColor = chAtEq ? "#afa" : "#faa";
element.innerHTML = chAtEq ? "Верно" : "Не верно";
}
|
ого)
работает )) спасибо большое) |
Вместо 15 наверно надо answ.length
Или ответов всегда ровно 15? |
Этот цикл надо прогнать один раз в начале, увязять данные с интерфейсом и затем только клацать.
|
danik.js, Ответов всегда 15 т к проверка есть что на все вопросы ответили.
kostyanet, Да если б я умел я бы сделал по человечески конечно. Спасибо мб когда-нибудь... |
kostyanet, какие данные?
|
| Часовой пояс GMT +3, время: 21:00. |