Sono davvero nuovo di jQuery ma conosco altri linguaggi. Recentemente ho acquistato uno script di tipo quiz e sto cercando di aggiungere un semplice timer di 15 secondi a ciascuna domanda. È solo un quiz divertente, quindi non c'è bisogno di preoccuparsi degli utenti che giocano con javascript per aumentare il tempo ecc.Aggiunta di un timer Quiz, Fade Out/Skip to the next se il timer raggiunge 0
In pratica, se un utente non seleziona una domanda entro 15 secondi, passerà automaticamente alla domanda successiva e il timer ricomincia.
Le risposte hanno il tag .next
e, quando selezionato, passano alla domanda successiva come mostra il codice sottostante (si spera).
superContainer.find('.next').click(function() {
$(this).parents('.slide-container').fadeOut(500, function() {
$(this).next().fadeIn(500)
});
return false
});
Il problema che ho è se io uso setInterval
, non so come posso selezionare nuovamente il div appropriato per dissolvenza è il nostro e fade in quello successivo. Ho provato il codice qui sotto e qualche idea simile a quella di Scrappy ma non funziona, ma forse darà un'idea migliore di quello che sto cercando.
superContainer.find('.next').click(function() {
$active_count = $count;
countInterval = setInterval(function() {
$active_count--;
if($active_count <= 0){
clearInterval(countInterval);
$active_count = $count;
$(this).parents('.slide-container').fadeOut(500, function() {
$(this).next().fadeIn(500)
});
}
$('.question-timer').html($active_count);
}, 1000);
$(this).parents('.slide-container').fadeOut(500, function() {
$(this).next().fadeIn(500)
});
return false
});
io ho solo usato JQuery un giorno o due in modo scusa per eventuali errori evidenti e il codice male! Fatemi sapere se avete bisogno di altri codici o informazioni
Mhm, presumo quando l'utente risponde a una domanda del quiz, dovresti resettare il timer giusto? In tal caso, imposterei un 'setTimeout' ogni volta che viene visualizzata una domanda e cancellarla ogni volta che si imposta il prossimo' setTimeout'. Non è facile pubblicare una risposta senza vedere un esempio compilabile o avere comunque informazioni molto dettagliate sulla sceneggiatura. –