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