Показать сообщение отдельно
  #1 (permalink)  
Старый 27.03.2013, 09:31
Интересующийся
Отправить личное сообщение для fsb-k Посмотреть профиль Найти все сообщения от fsb-k
 
Регистрация: 20.03.2013
Сообщений: 16

Помогите с тестированием
Помогите доделать тест!.. очень нужно!
Надо в конце теста сделать, чтобы показывались результаты и баллы (в процентом соотношении)!.. По возможности нужно сделать автоматическую генирацию вопросов!
Пожалуйста сам уже глубоко так не понимаю, надо доделать((
Помогите!!! вечно благодарен буду!..


<!DOCTYPE HTML>
<html>
<head>
<style type = "text/css">
.correctly {
background-color:green;

}


.wrong {
background-color:red;

}
</style>
</head>
<body>

<div id="conteiner">

<div id="timer"></div>






<div class="questions">
<table cellspacing="0" id="maket">
<tr>
<td id="leftcol"> Номер задания 1.<p> Решить уравнение: <span lang="latex">\mathbf {x^2+x^2} <p></td>
<td id="spacer"></td>
<td id="rightcol">
Варианты ответа:<p>
<input type = "radio" name="q1" class="answer" value = "Верно" checked><span lang="latex">\mathbf {\frac{1+sin(x)}{y};}</span><br>
<input type = "radio" name="q1" class="answer" value = "Не верно"><span lang="latex">\mathbf {x^3};</span><br>
<input type = "radio" name="q1" class="answer" value = "Не верно"><span lang="latex">\mathbf {x^4};</span><br>
<input type = "radio" name="q1" class="answer" value = "Не верно"><span lang="latex">\mathbf {x^2+x^2};</span><br>
<input type = "radio" name="q1" class="answer" value = "Не верно">Правильных ответов нет;<br>

</table>
<input type = "button" class="confirm" value="Ответить">
</div>


<div class="questions">
<table cellspacing="0" id="maket">
<tr>
<td valign="middle"id="leftcol">Номер задания 2.<br> Решить уравнение: <span lang="latex">$\displaystyle \hbox{ или } {\frac{\sqrt{149}}{\sqrt[12]{67}} * {x^2}.$</span> тра <br> </td>
<td id="spacer"></td>
<td id="rightcol">
Варианты ответа:<p>
<input type = "radio" name="q1" class="answer" value = "Верно" checked><span lang="latex">\mathbf {\frac{1+sin(x)}{y};}</span><br><br>
<input type = "radio" name="q1" class="answer" value = "Не верно"><span lang="latex">\mathbf {x^3};</span><br><br>
<input type = "radio" name="q1" class="answer" value = "Не верно"><span lang="latex">\mathbf {x^4};</span><br><br>
<input type = "radio" name="q1" class="answer" value = "Не верно"><span lang="latex">\mathbf {x^2+x^2};</span><br><br>
<input type = "radio" name="q1" class="answer" value = "Не верно">Правильных ответов нет;<br></td>
</tr>
</table>
<input type = "button" class="confirm" value="Ответить">
</div>






<div id ="result"></div>
</div>



<script type="text/javascript" src="http://latex.codecogs.com/latexit.js"></script>

<script type="text/javascript">
LatexIT.add('p',true);



function $(selector, elem) {

elem = elem || document;

return elem.querySelector(selector);

}

function Tests(params) {

var i = 0;

var _container = params.container,
_timer = params.timer,
_result = params.result,
self = this,
stop = false;

var user_answers = [];
var qs = document.getElementsByClassName("questions");


for(var j = 0, leng = qs.length; j < leng; j++)
qs[j].style.display = "none";



_container.onclick = function (e){

var target = e.target || event.scrElement;


if(target.className == "answer" ){


user_answers[i] = target.value;

}

if(target.className.indexOf("confirm") == -1)return;

if(!user_answers[i]){

user_answers[i] = $("[checked]", $(".questions")).value;
}


next();

}

this.start = function (hour , minutes, seconds){

var end_time = new Date();

end_time.setHours(end_time.getHours() + hour);
end_time.setMinutes(end_time.getMinutes() + minutes);
end_time.setSeconds(end_time.getSeconds() + seconds)



!function timerTicks(){
var d = end_time - new Date();



if(d <= 0){
end(true);

return;
}

_timer.innerHTML = getTimeToEnd(d);
if(!stop) setTimeout(timerTicks, 1000);
}();

qs[i].style.display = "block";

}

function getTimeToEnd(mSec){

var h = Math.floor(mSec / 3600000);

var m = Math.floor(mSec % 3600000 / 60000);
var s = Math.floor(mSec % 60000 / 1000 );

return view(h) +":" + view(m) + ":" + view(s);
}

function end(time_end){

stop = true;

var result = "<table><tr><td>№</td><td>Ответ</td></tr>",
_class, val;

var leng = time_end ? i : qs.length;

for(var j = 0; j <leng; j++)
{

if(time_end)
val = $("[checked]", qs[i]).value;

else val = user_answers[j];

if(val == params.answers[j])
_class = "correctly";


else _class = "wrong";

result += "<tr><td>" + (j+1) + "</td><td class = ' "+ _class + "'>" + val+"</td>";

}



_result.innerHTML = result + "</table>";

qs[i].style.display = "none";
}


function view(num){

return num < 10 ? "0"+num : num;
}

function next(){

qs[i].style.display = "none";

if(i == qs.length -1) {

end(false);

return;
}

i++;

qs[i].style.display = "";
}

}

var answers = [];

answers[0] = "Верно";
answers[1] = "Верно";
answers[2] = "Верно";


var tests = new Tests({

container: $("#conteiner"),// контейнер с вопросами
timer: $("#timer"),//блок для вывода времени
result: $("#result"),// блок для вывода результата
answers: answers

});




tests.start(0,3,00);// как только вызывается этот метод начинается тест. параметры метода это время отведенное на тест(часы, минуты, секунды)

</script>

</body>
</html>
Ответить с цитированием