$(".hidden").hide();
Это на самом деле совершенно ненужно.
Я бы порекомендовал добавить вместо этого следующее правило CSS:
.hidden{
display : none;
}
Но это не все, что не так с твоим кодом, я буду жестоко честен, это ужасно. Было бы лучше, если бы вы приложили некоторые усилия для изучения jQuery.
Вы не можете ожидать, что люди будут тратить свое время на оптимизацию кода, сгенерированного каким-то мастером.
Мой ответ не очень полезен, но вам нужно приложить немного больше усилий, чтобы получить достойную помощь.
Редактировать
Кажется, в каждой из ваших функций есть тонкие различия, которые затрудняют обобщение.
Я дам вам предложение написать функцию типа
function switch_question(current_question,next_question){
$('#Q'+current_question).hide();
$('#results'+current_question).show().hide(10000);
$('#Q'+next_question).show();
};
Теперь вместо того, чтобы переходить к следующему вопросу, набирая всю вещь, вы можете просто передать номера вопросов в функцию и вызвать ее.
Конечно, может быть больше оптимизаций, вы должны реорганизовать код там, где это возможно.
Приношу свои извинения за то, что слишком жестко обращался с вами, я думал, что вы использовали какой-то инструмент генерации кода.
Надеюсь, это более полезно.