ben tout est dans le titre, je conai tres tres peu le JS, et je veu afficher un décompte en secondes qui afficherai juste "10" pui "9" pui "8" etc etc jusqu'a "0" par exemple... c'est tout, rien de plus, rien de moin...
var temps = 30; // ici tu met le temps que tu veut
var debut = new Date();
debut = debut.getTime();
var compteur = setInterval('decompte();',1000);
function decompte() { var tmp = new Date();
tmp = tmp.getTime();
tmp = temps - (tmp - debut);
if(tmp > 0){
document.getElementById('compteur').innerHTML = tmp; } else{
clearInterval(compteur); // sinon le script se sent plus et il s'arrete pu } }
D'abord, oui, ce code se met dans des balises <script> et en commentaire pour que le code ne soit pas affiché si le naviguateur ne le supporte pas.
Comme ceci :
<scripttype="text/javascript"> <!--
var temps = 30; // ici tu met le temps que tu veut
var debut = new Date();
debut = debut.getTime();
var compteur = setInterval('decompte();',1000);
function decompte()
{
var tmp = new Date();
tmp = tmp.getTime();
tmp = temps - (tmp - debut);
if (tmp > 0) {
document.getElementById('compteur').innerHTML = tmp;
}
else {
clearInterval(compteur); // sinon le script se sent plus et il s'arrete pu
}
}
//--> </script>
Ensuite, le javascript est comme le PHP : quand tu crées une fonction, tu peux l'exécuter après.
Ici, le code à mettre dans <body> pour afficher le décompte sera :
<ahref="javascript:decompte()">Faire un décompte</a>
Ou si tu veux l'exécuter de suite :
<bodyonload="decompte()"> <!-- À la place de la balise <body> -->
il faut pas mettre les () parceque l'on affecte la fonction on l'execute pas
il faut mettre un div avec l'id compteur
<html> <head> <title>hop</title> <scripttype="text/javascript">
var temps = 30; // ici tu met le temps que tu veut
var debut = new Date();
debut = debut.getTime();
window.onload = decompte;
var compteur = setInterval('decompte();',1000);
function decompte()
{
var tmp = new Date();
tmp = tmp.getTime();
tmp = temps - (tmp - debut);
if (tmp > 0) {
document.getElementById('compteur').innerHTML = tmp;
}
else {
clearInterval(compteur); // sinon le script se sent plus et il s'arrete pu
}
} </script> <body>
<divid="compteur"></div>
</body> </html>
( edit )
ce que j'ai poster au dessus ca marche pas ...
<html> <head> <title>hop</title> <scripttype="text/javascript">
var temps = 20; // ici tu met le temps que tu veut
window.onload = function ()
{
debut = new Date();
debut = debut.getTime();
document.getElementById('compteur').innerHTML = temps +'s';
cmp = setInterval('decompte();',990);
}
function decompte()
{
var tmp = new Date();
tmp = tmp.getTime();
tmp = temps - ((tmp - debut)/1000);
if (tmp > 0) {
document.getElementById('compteur').innerHTML = Math.round(tmp) +'s';
}
else {
clearInterval(cmp); // sinon le script se sent plus et il s'arrete pu
}
} </script> <body>
<divid="compteur"></div>
</body> </html>
ca ca marche, copie colle et test
apres modifie comme tu en as besoin
[JS] décompte
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Ancien validateur du SdZ.