Javascript affichage sous condition
canaillou
-
Marco la baraque Messages postés 1030 Statut Contributeur -
Marco la baraque Messages postés 1030 Statut Contributeur -
Bonjour à tous, voila j'ai un petit problème mais comme vous êtes des lumières vous allez pouvoir le résoudre ^^
En fait mon scirpt doit afficher un bouton menant vers un lien URL si le compte à rebour est finit
voici le script :
voila je vous remerci d'avance, bon après midi .
En fait mon scirpt doit afficher un bouton menant vers un lien URL si le compte à rebour est finit
voici le script :
<html>
<head>
<script language="JavaScript">
// la date à partir de laquelle on compte
var cible = new Date("December 7, 2008 14:00:00");
// nombre de millisecondes par jour, heure, minute et seconde
var mms_jour = 24 * 60 * 60 * 1000;
var mms_heure = 60 * 60 * 1000;
var mms_minute = 60 * 1000;
var mms_seconde = 1000;
function decompte() {
// la date courante
var aujourdhui = new Date();
// on crée les variables qui accueilleront les différences entre aujourd'hui et la date à atteindre
var change_j = -1;
var change_h = -1;
var change_m = -1;
// le total de millisecondes de différences
var diff_mms = cible.getTime() - aujourdhui.getTime();
// pareil pour les jours
diff_jours = Math.floor(diff_mms / mms_jour);
diff_mms -= diff_jours * mms_jour;
// pour les heures
diff_heures = Math.floor(diff_mms / mms_heure);
diff_mms -= diff_heures * mms_heure;
// les... minutes, bravo ;-)
diff_minutes = Math.floor(diff_mms / mms_minute);
diff_mms -= diff_minutes * mms_minute;
// les secondes, ce qui reste en fait.
var diff_secondes = Math.floor(diff_mms / mms_seconde);
// on affecte nos résultats aux champs du formulaire
document.getElementById("jours").innerHTML = diff_jours;
document.getElementById("heures").innerHTML = diff_heures;
document.getElementById("minutes").innerHTML = diff_minutes;
document.getElementById("secondes").innerHTML = diff_secondes;
lienurl ="MONLIEN";
// on relance la fonction pour actualiser à la seconde
setTimeout("decompte()",1000);
}
</script>
</head>
<body onLoad="decompte()">
<center>
<script>
if (diff_jours<0) {
<form name="formulaire"><font face="arial" size="4"><b>
BIDUL CHOUET BIDUL DISPONIBLE DANS : <br><br>
<span id="jours">0</span> jours
<span id="heures">0</span> heures
<span id="minutes">0</span> minutes
<span id="secondes">0</span> secondes
<br><br> }
if (diff_jours>=0) {
<INPUT TYPE="button" Value="NOM DU BOUTON" onclick="window.location=lienurl;"> }
</form>}
<br> </center>
</script>
</body>
</html>
voila je vous remerci d'avance, bon après midi .
A voir également:
- Javascript affichage sous condition
- Excel cellule couleur si condition texte - Guide
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Telecharger javascript - Télécharger - Langages
- Problème affichage fenêtre windows 10 - Guide
2 réponses
Bonsoir Canaillou !
Il faut que tu crées un lien dans ton html, et tu lui mets le style : visibility: hidden.
Ensuite, tu as un problème dans ton js : ton compte à rebours ne se termine jamais vu que la fonction décompte est appelée infiniment.
Je pense qu'il faut que tu définisses une condition de ce style :
Cordialement
Il faut que tu crées un lien dans ton html, et tu lui mets le style : visibility: hidden.
Ensuite, tu as un problème dans ton js : ton compte à rebours ne se termine jamais vu que la fonction décompte est appelée infiniment.
Je pense qu'il faut que tu définisses une condition de ce style :
if (diff_mms < 0) { //a changer pour mettre ce que tu veux
setTimeout("decompte()", 1000);
} else {
var link = document.getElementById("idDuLien");
link.style.visibility = visible;
}
Cordialement