Rechercher : dans
Par :

[JavaScript] Compte à rebours

Dernière réponse le 29 jun 2009 à 16:58:36 NRgizer, le 29 jun 2009 à 12:04:18 
 Signaler ce message aux modérateurs

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,

Configuration: Windows Vista
Firefox 3.0.11

Meilleures réponses pour « [JavaScript] Compte à rebours » dans :
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

resalut, le 29 jun 2009 à 12:46:46

Utilise settimeout

Répondre à resalut

2

NRgizer, le 29 jun 2009 à 13:12:50

C'est à dire? tu peux me mettre un exemple de code?

Répondre à NRgizer

3

resalut, le 29 jun 2009 à 13:15:09

Redirection dans 20 secondes :
<script type="text/javascript">
function redirige()
{
setTimeout('document.location.href="http://google.fr"',20000)
}
window.onload = redirige();
</script>

Répondre à resalut

4

NRgizer, le 29 jun 2009 à 13:39:52

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?

Répondre à NRgizer

5

resalut, le 29 jun 2009 à 13:56:54

Oui faut ktu fasse une function ki recharge une balise tt les secondes

Répondre à resalut

6

NRgizer, le 29 jun 2009 à 13:58:55

Une fonction qui recharge une balise? space?

t'as un petit exemple?

Répondre à NRgizer

7

resalut, le 29 jun 2009 à 14:06:07

<script type="text/javascript">
function changee()
{
document.getElementById('exemple').innerHTML='exemple';
}
</script>
<div id="exemple">
<a href="javascript:rien();" onclick="changee();">clic</a>
</div>

Répondre à resalut

8

NRgizer, le 29 jun 2009 à 14:14:13

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.

Répondre à NRgizer

9

resalut, le 29 jun 2009 à 14:15:16

Bien sur et tu veux cent balle un mars et une pipe ? :p

Répondre à resalut

10

NRgizer, le 29 jun 2009 à 14:53:31

Ok bah merci du coup de main -_-'

Répondre à NRgizer

11

resalut, le 29 jun 2009 à 14:54:49

Lol jrigole chui dessus mais g un pb pour afficher les secondes g pas trouver la bonne formule mathematique

Répondre à resalut

12

NRgizer, le 29 jun 2009 à 15:02:14

J'ai fais ca ce matin mais galère, moi j'y comprend rien au js à vrai dire, je suis plus php'addict :p

Répondre à NRgizer

13

resalut, le 29 jun 2009 à 15:03:36

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 ?

Répondre à resalut

14

NRgizer, le 29 jun 2009 à 15:23:10

Non tkt c'est bon, du moment que ce compte à rebours est visible par l'utilisateur.

Répondre à NRgizer

15

totoAussi, le 29 jun 2009 à 15:25:11

<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="http://www.google.fr";

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>
Merci à CCM et aux webmasters

Répondre à totoAussi

16

 NRgizer, le 29 jun 2009 à 16:58:36

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="http://www.google.fr";

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="http://www.google.fr";

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

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

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

}

</script>

Répondre à NRgizer