Impact (?) le 13 avril 2036, soit dans
Centenaire le 29 avril 2063, soit dans
Naissance le 29 avril 1963, soit dans
Code HTML :
<p>Impact le 13 avril 2036, soit dans <output data-fin="2036,3,13"></output></p> <p>Centenaire le 29 avril 2063, soit dans <output data-fin="2063,3,29"></output></p>
Le HTML5 permet de créer ses propres attributs.
Code JS :
/* tab = tableau des balises ayant l'attribut "data-fin" fin est une string : "aaaa,m,j,h,m,s" où m commence à zéro */ var tab=document.querySelectorAll("[data-fin]"); var taille=tab.length; var now = new Date().getTime(); var i,fin,countDownDate,distance,days,hours,minutes,seconds,str_j,str_h,str_m,str_s; /* Update the count down every 1 second */ var x = setInterval(function() { for(i=0;i<taille;i++){ fin=tab[i].getAttribute("data-fin"); countDownDate = new Date(fin).getTime(); /* Find the distance between now and the count down date */ distance = countDownDate - now; /* Time calculations for days, hours, minutes and seconds */ days = Math.floor(distance / (1000 * 60 * 60 * 24)); hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); seconds = Math.floor((distance % (1000 * 60)) / 1000); /* Display the result in the element with id="demo" */ str_j=" jour "; if(days>1) str_j=" jours "; str_h=" heure "; if(hours>1) str_h=" heures "; str_m=" minute "; if(minutes>1) str_m=" minutes "; str_s=" seconde"; if(seconds>1) str_s=" secondes"; tab[i].innerHTML = days + str_j + hours + str_h + minutes + str_m + seconds + str_s; /* If the count down is finished, write some text */ if (distance < 0) { /*clearInterval(x); */ tab[i].innerHTML = "EXPIRÉ"; } } }, 1000); /* 1000 millièmes de secondes */