[JavaScript] Compte à rebours

NRgizer -  
 NRgizer -
Bonjour,

J'ai passé pas mal de temps à faire des recherches pour trouver la solutions mais elle ne se sont pas montrées fructueuses.

Je vous explique le problème. J'ai fais un site internet faisant passer des QCM et j'aimerais qu'un compte à rebours dynamique (défilant de secondes en secondes) soit afficher pendant le QCM et qu'a la fin de ce compte à rebours, il y ai une redirection vers une autre page du site.

Alors effectiement il y a une fonction "countdown" mais je n'arrive pas à bien l'appliquer à mon problème. il y a aussi des compte à rebours js avec les types Date mais vu que je ne connais pas la date cible (c'est à dire la date du moment du test + 20 minutes) et bah cela ne m'est pas très utile.

Voila, alors si quelqun peut me venir en aide, ca serait sympatique,

cordialement,

16 réponses

resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
utilise settimeout
0
NRgizer
 
C'est à dire? tu peux me mettre un exemple de code?
0
resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
redirection dans 20 secondes :
<script type="text/javascript">
function redirige()
{
setTimeout('document.location.href="https://www.google.fr/?gws_rd=ssl"',20000)
}
window.onload = redirige();
</script>
0
NRgizer
 
ok ca marche c'est parfait, parcontre, est il possible que l'utilisateur vois le temps restant en direct pendant qu'il répond sur la page de qcm?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
oui faut ktu fasse une function ki recharge une balise tt les secondes
0
NRgizer
 
une fonction qui recharge une balise? space?

t'as un petit exemple?
0
resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
<script type="text/javascript">
function changee()
{
document.getElementById('exemple').innerHTML='exemple';
}
</script>
<div id="exemple">
<a href="javascript:rien();" onclick="changee();">clic</a>
</div>
0
NRgizer
 
Heu...ouai,

Je vois à peur près ce que cela fais, mais parcontre tu es obligé de cliquer pour voir ce que cela affiche.

Tu peux me montrer le code pour pouvoir un compte à rebours de 20 minutes sans avoir besoin de cliquer?

Car sinon c'est une perte de temps pour les utilisateur que de cliquer.
0
resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
bien sur et tu veux cent balle un mars et une pipe ? :p
0
NRgizer
 
ok bah merci du coup de main -_-'
0
resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
lol jrigole chui dessus mais g un pb pour afficher les secondes g pas trouver la bonne formule mathematique
0
NRgizer
 
j'ai fais ca ce matin mais galère, moi j'y comprend rien au js à vrai dire, je suis plus php'addict :p
0
resalut Messages postés 784 Date d'inscription   Statut Membre Dernière intervention   55
 
moi chuis plus php,javascript,css,sql :p lol ca t ennuie si je convertit pas les secondes et ke je laisse le nombre de seconde complete ?
0
NRgizer
 
non tkt c'est bon, du moment que ce compte à rebours est visible par l'utilisateur.
0
Utilisateur anonyme
 
<html>
<head>
</head>
<body>

Il vous reste : <span id='idIciSeconde'></span> minute(s)

<script language='javascript'>
nombreDeMinute=20;
objIciSeconde=document.getElementById('idIciSeconde');
objIciSeconde.innerHTML=nombreDeMinute;
urlDeRedirection="https://www.google.fr/?gws_rd=ssl";

function compteArebours()
{
nombreDeMinute=nombreDeMinute-1;
objIciSeconde.innerHTML=nombreDeMinute;

if(nombreDeMinute>0)
{setTimeout("compteArebours()",10000);}

else if(nombreDeMinute==0)
{location.href=urlDeRedirection;}

}

setTimeout("compteArebours()",10000);

</script>

</body>
</html>
0
NRgizer
 
Merci beaucoup toto et resalut aussi, ca m'a beaucoup aidé, ca marche c'est parfait, je l'ai en pluis amélioré pour que ça face un décompte minutes + secondes.

Voici mon code pour ceux que ça intéresse:
<script language='javascript'>
nombreDeMinute=19;
objIciMinutes=document.getElementById('idIciMinutes');
objIciMinutes.innerHTML=nombreDeMinute;
urlDeRedirection="https://www.google.fr/?gws_rd=ssl";

function compteArebours()
{
nombreDeMinute=nombreDeMinute-1;
objIciMinutes.innerHTML=nombreDeMinute;

if(nombreDeMinute>0)
{setTimeout("compteArebours()",60000);}

else if(nombreDeMinute==0)
{location.href=urlDeRedirection;}

}

setTimeout("compteAreboursSec()",1000);
setTimeout("compteArebours()",60000);

/*****************//******************//********************//*****************//***************//****************/

nombreDeSeconde=59;
objIciSecondes=document.getElementById('idIciSecondes');
objIciSecondes.innerHTML=nombreDeSeconde;
urlDeRedirection="https://www.google.fr/?gws_rd=ssl";

function compteAreboursSec()
{
nombreDeSeconde=nombreDeSeconde-1;
objIciSecondes.innerHTML=nombreDeSeconde;

if(nombreDeSeconde>0)
{setTimeout("compteAreboursSec()",1000);}

else if(nombreDeSeconde==0)
{
nombreDeSeconde=60;
setTimeout("compteAreboursSec()",1000);
 }

}

</script>
0