Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2011, 10:44
Аватар для TBIKC
Интересующийся
Отправить личное сообщение для TBIKC Посмотреть профиль Найти все сообщения от TBIKC
 
Регистрация: 17.03.2011
Сообщений: 17

[Оптимизация] Тест написанный 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>
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2011, 11:04
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

жестокий код
ещё как можно оптимизировать, но лениво.
Проще с нуля. Напишите задачу
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2011, 11:11
Аватар для TBIKC
Интересующийся
Отправить личное сообщение для TBIKC Посмотреть профиль Найти все сообщения от TBIKC
 
Регистрация: 17.03.2011
Сообщений: 17

Создать тест на js
Даны 5-7 вопросов, 4 варианта ответа, только один правельный, по завершению теста - выдаётся результат сколько правильных ответов
Вот собственно и всё
Вот скриншот теста на бумаге:
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2011, 11:27
Аватар для TBIKC
Интересующийся
Отправить личное сообщение для TBIKC Посмотреть профиль Найти все сообщения от TBIKC
 
Регистрация: 17.03.2011
Сообщений: 17

Вот ещё нашёл тест:
<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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тест на JS, отсчет времени... Галька Элементы интерфейса 4 27.01.2011 22:23
Тест с ветвлением Reiter Общие вопросы Javascript 11 08.12.2010 14:50