Comment décompter jusqu'à une date

Je me demande si quelqu'un peut m'aider. Après des heures de recherche sans relâche ici et sur le Web, je ne peux pas trouver un compte à rebours simple en utilisant jquery. Je ne veux pas utiliser n'importe quel type de plugin simplement un simple code jquery pour le compte à rebours à partir d'une date. J'ai réussi à trouver ce code ci-dessous. Mais même avec ce code qui le place dans mon site Web, rien ne s'affiche. J'ai ajouté le fichier jquery de jquery.com et ajouté les divs appropriés avec ID de counter et rien. Si quelqu'un peut m'expliquer ou me montrer comment faire un compte à rebours simple dans une fonction qui prend un format de date et renvoie un compte à rebours, j'apprécierais l'aide.

 var end = new Date('02/19/2012 10:1 AM'); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById('countdown').innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById('countdown').innerHTML = days + 'days '; document.getElementById('countdown').innerHTML += hours + 'hrs '; document.getElementById('countdown').innerHTML += minutes + 'mins '; document.getElementById('countdown').innerHTML += seconds + 'secs'; } timer = setInterval(showRemaining, 1000); 

Cela fonctionne bien comme un javascript normal.

 <script> var end = new Date('02/19/2012 10:1 AM'); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById('countdown').innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById('countdown').innerHTML = days + 'days '; document.getElementById('countdown').innerHTML += hours + 'hrs '; document.getElementById('countdown').innerHTML += minutes + 'mins '; document.getElementById('countdown').innerHTML += seconds + 'secs'; } timer = setInterval(showRemaining, 1000); </script> <div id="countdown"></div> 

Votre sortie apparaît comme suit: –

1 jour 9 heures 3mins 22secs

METTRE À JOUR

Utilisation des fonctions:

 <script> CountDownTimer('02/19/2012 10:1 AM', 'countdown'); CountDownTimer('02/20/2012 10:1 AM', 'newcountdown'); function CountDownTimer(dt, id) { var end = new Date(dt); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById(id).innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById(id).innerHTML = days + 'days '; document.getElementById(id).innerHTML += hours + 'hrs '; document.getElementById(id).innerHTML += minutes + 'mins '; document.getElementById(id).innerHTML += seconds + 'secs'; } timer = setInterval(showRemaining, 1000); } </script> <div id="countdown"></div> <div id="newcountdown"></div> 

La sortie apparaîtra comme suit:

0 jours 23 heures 25mins 8secs

1 jours 23 heures 25mins 8secs

Ce n'est pas jQuery, c'est le JavaScript. Mais, de toute façon…

Vous l'avez presque compris. Le seul problème est var distance = end-now; . CA devrait etre:

 var distance = end.getTime()-now.getTime(); 

En outre, vous ne devriez pas utiliser += sur innerHTML . Au lieu de cela, utilisez une variable (exemple: var output = "" ) et ajoutez-la, puis attribuez-vous à innerHTML à la fin.

Enfin, vérifiez que l'ID de la div correspond à l'ID que vous avez dans getElementById .