[Оптимизация] Тест написанный javascripts
Есть тест на js
Мне кажется можно сделать гораздо проще ( из опыта php ), помогите пожалуйста оптимизировать, изменить, уменьшить код ps: js не знаю, php применить не могу( голимый статический html сайт с маленьким тестом )
<html>
<head>
<title>Тест с физики за 8 класс</title>
<script language="javascript" type="text/javascript">
var cnt=-1;
var points=0;
var itemSelected=1;
aArray1=['<font size=5>35 м/с</font>','<font size=5>0,0003 м/с</font>','<font size=5>5 км/час</font>'];
aArray2=['<font size=5>15 м/с</font>','<font size=5>10,0002 м/с</font>','<font size=5>10 км/час</font>'];
aArray3=['<font size=5>25 м/с</font>','<font size=5>0,0002 м/с</font>','<font size=5>15 км/час</font>'];
aArray4=['<font size=5>20 м/с</font>','<font size=5>10,0003 м/с</font>','<font size=5>20 км/час</font>'];
aArray5=['<font size=5>10 м/с, 15 м/с, 20м/с </font>','<font size=5>1,0003 м/с</font>','<font size=5>25 км/час</font>'];
aArray6=['<font size=5>10 м/с, 12,5 м/с, 15 м/с</font>','<font size=5>1,0002 м/с</font>','<font size=5>30 км/час</font>'];
qArray=['Атомобиль проехал за первую секунду 10м, за вторую 15м, а за третью 20м высчитать среднюю скорость за каждую секунду.',
'Улитка по стволу дерева ползет 50см за 1 час, а потом еще 70см за 0,5час. Какая была средняя скорость?(округлено до червертого знака)','Велосепедист проехал полпути со скоростью 20км.час, а все остальное прошел пешком. Какая скорость ходьбы?, если ехал он 1/5 всего времени.'];
rArray1=['0','0','4'];
rArray2=['0','0','0'];
rArray3=['0','4','0'];
rArray4=['0','0','0'];
rArray5=['4','0','0'];
rArray6=['0','0','0'];
function goNext(e){
var pts=(eval('rArray'+itemSelected+'['+(cnt)+']'));
if (pts) points=points+Number(pts);
if ((cnt+1)==qArray.length) {
checkResults();
return;
}
if((cnt+1)==(qArray.length-1)){
var bt=document.getElementById("btn");
bt.value='Показать балл';
}
cnt++;
var cnt1=document.getElementById("counter");
var sp0=document.getElementById("question");
var sp1=document.getElementById("answer1");
var sp2=document.getElementById("answer2");
var sp3=document.getElementById("answer3");
var sp4=document.getElementById("answer4");
var sp5=document.getElementById("answer5");
var sp6=document.getElementById("answer6");
sp0.innerHTML=qArray[cnt];
sp1.innerHTML=aArray1[cnt];
sp2.innerHTML=aArray2[cnt];
sp3.innerHTML=aArray3[cnt];
sp4.innerHTML=aArray4[cnt];
sp5.innerHTML=aArray5[cnt];
sp6.innerHTML=aArray6[cnt];
cnt1.innerHTML=cnt+1;
}
function checkResults(){
alert('Результат в баллах '+points);
}
</script>
</head>
<body BGCOLOR="#836FFF" onLoad="javascript:goNext(event);">
<center><SPAN id="counter"></SPAN>. <SPAN id="question"></SPAN></center><br /><br />
<input type="radio" name="opt" id="opt1" onClick="javascript:itemSelected=1;"><SPAN id="answer1"></SPAN><br/>
<input type="radio" name="opt" id="opt2" onClick="javascript:itemSelected=2;"><SPAN id="answer2"></SPAN><br/>
<input type="radio" name="opt" id="opt3" onClick="javascript:itemSelected=3;"><SPAN id="answer3"></SPAN><br/>
<input type="radio" name="opt" id="opt4" onClick="javascript:itemSelected=4;"><SPAN id="answer4"></SPAN><br/>
<input type="radio" name="opt" id="opt5" onClick="javascript:itemSelected=5;"><SPAN id="answer5"></SPAN><br/>
<input type="radio" name="opt" id="opt6" onClick="javascript:itemSelected=6;"><SPAN id="answer6"></SPAN><br/>
<br />
<div align="center"><input id="btn" type="button" onClick="javascript:goNext()" value="Следующий вопрос" /></div>
<FORM ACTION="receive.html" METHOD=POST>
<br><center> <a href="javascript:window.location.reload()">Пройти Тест повторно</a></center><br>
<center> <b>
<font size="4">
</FORM>
</body>
</html>
|
жестокий код:)
ещё как можно оптимизировать, но лениво. Проще с нуля. Напишите задачу |
Создать тест на js
Даны 5-7 вопросов, 4 варианта ответа, только один правельный, по завершению теста - выдаётся результат сколько правильных ответов Вот собственно и всё Вот скриншот теста на бумаге: ![]() |
Вот ещё нашёл тест:
<Html>
<head>
<title>Тест по JavaScript</title>
<Meta http-equiv = "Content-Type" content = "text/html; charset = windows-1251">
<Script language="JavaScript">
<!--
function funk()
{v1=0;v2=0;v3=0;v4=0;v5=0;v6=0;
var d=document;
if(d.form1.otv1[1].checked==true)v1=1;
if(d.form1.otv2[2].checked==true)v2=1;
if(d.form1.otv3[0].checked==true)v3=1;
if(d.form1.otv4[0].checked==true)v4=1;
if(d.form1.otv5[2].checked==true)v5=1;
if(d.form1.otv6[0].checked==true)v6=1;
v=v1+v2+v3+v4+v5+v6;
p=v*100/6;
if (p>=90) {p="Вы получили 5 балов";}
else
if(p<100 & p>=75){p="Вы получили 4 балa";}
else
if(p<50 & p>=55){p="Вы получили 3 бала";}
else {p="Вы получили 2 бала";}
DispWin=window.open('','NewWin','status=no,width=500,height=300')
message="<ul><li><b>Вы ответили правильно на</b> "+v+" вопроса";
message1="<li><b>Оценка:</b> "+p;
DispWin.document.write(message+ message1);
}
//-->
</Script>
</head>
<body bgcolor="pink">
<h1><center>Тест по JavaScript</center></h1>
<form name="form1">
<h3>Вопрос 1</h3>
<h3>JavaScript - это ...<p>
1.<input type="radio" name="otv1">численные переменные,которые могут содержать целые числа и числа с плавающей точкой.
<br>
2.<input type="radio" name="otv1"> язык для составления сценариев, позволяющих выполнять разные действия непосредственно на машине пользователя. Распологаются данные сценарии внутри HTML документов
<br>
3.<input type="radio" name="otv1">примечания программиста, которые будут игнорированы интерпритатором.<br>
<h3>Вопрос 2</h3>
<h4>Событие OnClick ...<p></h4>
1.<input type="radio" name="otv2">реагирует при нажатии и держании клавиши.<br>
2.<input type="radio" name="otv2">реагирует на двойной щелчок курсора мыши.<br>
3.<input type="radio" name="otv2">реагирует на одинарный щелчок курсора мыши.<br>
<h3>Вопрос 3</h3>
<h4>Для чего используеться метода confirm ?<p></h4>
1.<input type="radio" name="otv3">для сообщений, требующих принятия решения пользователем - в окне находяться две кнопки - "Ok" и "Отмена". <br>
2.<input type="radio" name="otv3">для вывода предупреждений, какой-нибудь информации<br>
3.<input type="radio" name="otv3">для перехода на другую страницу<br>
<h3>Вопрос 4</h3>
<h4>Функции - это ...<p></h4>
1.<input type="radio" name="otv4">последовательность операторов, выполняющих какую-либо задачу.<br>
2.<input type="radio" name="otv4">последовательность методов, выполняющих какую-либо задачу.<br>
3.<input type="radio" name="otv4">последовательность событий, выполняющих какую-либо задачу.<br>
<h3>Вопрос 5</h3>
<h4>С какого символа начинаеться однострочный ккомментарий?<p></h4>
1.<input type="radio" name="otv5">"*/"<br>
2.<input type="radio" name="otv5">"/*" <br>
3.<input type="radio" name="otv5">"//"<br>
<h3>Вопрос 6</h3>
<h4>Какие типы переменных бывают?<p></h4>
1.<input type="radio" name="otv6">варианты 2,3,4.<br>
2.<input type="radio" name="otv6">логические<br>
3.<input type="radio" name="otv6">строковые<br>
4.<input type="radio" name="otv6">численные<br>
<input type="button" name="s4et" value="Подсчитать" onclick="funk(form1)">
<input type="reset" value="Очистить">
</form>
</BODY>
</HTML>
|
| Часовой пояс GMT +3, время: 12:53. |