#javascript #jquery
У меня есть код теста, и я хочу, чтобы если в тесте набралось не более 10%, то мне
выводилось "плохо", а если другие результаты, то уже другие ответы
$(function() {
$('.questionForm input[type=submit]').on('click', function(e) {
var answer = 0;
$('#wrap').addClass('none');
for (i = 0; i < $('.group').length; i++) {
$('.group').eq(i).each(function(id, elem) {
if ($(elem).find('input:checked').length != 0) {
if ($(elem).find('input:checked').attr('value') == 1) {
answer++;
}
}
})
}
$("#wrap").hide();
$(".result").show("slow", function() {
$(".result").replaceWith("" + ""
+ "Тест пройден на: " + "" + (answer / $('.group').length) * 100 + '%' + "
"
+ "" + "")
})
return false
})
})
div.questionBlock {
display: block;
}
Начальный уровень
Тест пройден на 0%
Вы не прошли тест!
Ответы
Ответ 1
Ну, собственно, добавить переменную, отвечающую за процент прохождения, и в зависимости от её значения изменять код страницы с помощью функции, аргумент которой - эта самая переменная: function result(percent) { if (percent <= 10) return 'Плохо'; //дальше - код для других значений } $(function() { $('.questionForm input[type=submit]').on('click', function(e) { var answer = 0; $('#wrap').addClass('none'); for (i = 0; i < $('.group').length; i++) { $('.group').eq(i).each(function(id, elem) { if ($(elem).find('input:checked').length != 0) { if ($(elem).find('input:checked').attr('value') == 1) { answer++; } } }) } var percent = (answer / $('.group').length) * 100; $("#wrap").hide(); $(".result").show("slow", function() { $(".result").replaceWith("" + "") $(".result1").replaceWith("" + "Тест пройден на: " + "" + "" + percent + '%' + "
" + "" + "") }); return false; }) }) div.questionBlock { display: block; }" + "" + "" + result(percent) + "
" + "Начальный уровень
Тест пройден на0%
Вы не прошли тест!
Комментариев нет:
Отправить комментарий