Amigos, como les va?
soy muy nuevo en programación y estoy haciendo una trivia con un código abierto que encontré en internet.
la trivia es en php y javascript. lee un xml donde tiene todas las respuestas y datos.
El inconveniente es que la trivia recorre todas las preguntas hasta llegar al final y allí realiza el conteo y da resultados. lo que yo quisiera hacer es que directamente en cualquier pregunta, cuando un usuario responde mal vaya directamente al final.. o sea que no vaya a la siguiente pregunta sino que directamente lo de como perdido.
Como soy muy nuevo y no soy muy ducho en js no encuentro como hacer ni como identificar el lugar donde se hace esa validación
les dejo la función del js que creo que es donde se debe realizar esta validación
me ayudan?
Código Javascript
:
Ver originalfunction checkQuestion()
{
//the user has selOpt selected on question curQuestion
//on the quizIndex'th quiz in quizFile
//make sure the user selected one
if( $('.quizzy_q_opt_b:checked').length == 0 )
return;
//unbind the click event
$(this).unbind();
//hide the button
$('#quizzy_q' + curQuestion + '_foot_chk').fadeOut(fadeSpeed, function() {
$(this).attr('disabled', true);
});
//put up throbber
$('#quizzy').loading(true);
//get the explanation for this option, it will set the correctOpt variable
//parameters passed in GET:
// _GET['quizFile'] xml file to open
// _GET['quizIndex'] index of requested quiz in xml file
// _GET['questNo'] question to return (first is 1)
// _GET['selOpt'] the option for which to retrieve the explanation
$.get('quizzy/serveExplanation.php', {quizFile: quizFile, quizIndex: quizIndex, questNo: curQuestion, selOpt: selOpt}, function(data) {
//have the data returned by that ajax query, set the proper div info
$('#quizzy_q' + curQuestion + '_exp').html(data);
//that should have set the correctOpt and addScore variables
//add to score
score += addScore;
//determine if this question has partial credit
var partialCredit = false;
for(var i in optValues)
if(optValues[i] != 0 && optValues[i] != bestScore)
partialCredit = true;
//show the values
for( i in optValues ) {
//if the question no partial credit, use an X or a ✓ to indicate correctness
var toWrite = optValues[i];
if(!partialCredit)
toWrite = (optValues[i] == bestScore) ? '<img src="img/si.png">' : '<img src="img/no.png">';
//if it was best score, use quizzy_opt_best
//in between best and worst, use quizzy_opt_mid
//or the worst, use quizzy_opt_worst
var useClass = 'quizzy_opt_worst';
if(optValues[i] == bestScore)
useClass = 'quizzy_opt_best';
if(optValues[i] > 0 && optValues[i] < bestScore)
useClass = 'quizzy_opt_mid';
$('#quizzy_q' + curQuestion + '_opt' + i + '_val').html('<span class="' + useClass + '">' + toWrite + '</span>');
}
$('.quizzy_q_opt_val').fadeIn(fadeSpeed);
//wait slideUpWait millisec
setTimeout(function() {
//scroll up all but the selected answer and the best answer
var correctSel = '[id!=quizzy_q' + curQuestion + '_opt' + correctOpt + ']';
var pickedSel = '[id!=quizzy_q' + curQuestion + '_opt' + selOpt + ']';
if(addScore == bestScore)
correctSel = '';
$('.quizzy_q_opt' + correctSel + pickedSel).slideUp(slideSpeed);
//wait expFadeInWait millisec
setTimeout(function() {
//fade in explanation
$('#quizzy_q' + curQuestion + '_exp').fadeIn(fadeSpeed);
//wait nextFadeInWait millisec
setTimeout(function() {
//fade in next button
$('#quizzy_q' + curQuestion + '_foot_nxt').attr('disabled', false).fadeIn(fadeSpeed);
}, nextFadeInWait); //wait nextFadeInWait ms to fade in the next button
}, expFadeInWait); //wait expFadeInWait ms to fade in explanation
}, slideUpWait); //wait scrollupwait ms to scroll up all but best answer
});
}