Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que j'ai

J'aimerais faire un compte à rebours mais en gros, j'ai pris un template qui m'avais l'air assez bon mais quand j'ai regarder le code js pour le compte à rebours :

if ($('.countdown').length) {
        var austDay = new Date();
        austDay = new Date(austDay.getFullYear() + 1, 1 - 1, 15);
        $('.countdown').countdown({
            until: austDay
        });
        $('#year').text(austDay.getFullYear());
    }

Et voici le code HTML de ma part :

<section class="coming-soon-wrapper">
         <div class="container">
            <div class="cs-txt">
               <img src="images/cs-logo.png" alt="">
               <p>We are Ecova: eco & environmental community. We need your support and help to Stop Globar Warning. Few generations ago it to seemed like the world’s resources were infinite.</p>
               <h1>We’re Coming Soon</h1>
               <div class="countdown"></div>
               <div class="cs-newsletter-form">
                  <h4>Subscribe our Newsletter</h4>
                  <input type="email" class="form-control" placeholder="Your Email">
                  <button type="submit" class="subscribe">Subscribe</button>
               </div>
            </div>
         </div>
      </section>

Ce que je veux

Et donc j'aimerais adapter le code JS que je vous ai fournis en haut en ce que j'ai l'habitude de faire :

var countDownDate = new Date("Sep 5, 2019 15:37:25").getTime();
    var x = setInterval(function() {
        var now = new Date().getTime();
        var distance = countDownDate - now;
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);
        document.getElementsByClassName("demo").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
        if (distance < 0) {
            clearInterval(x);
            document.getElementById("demo").innerHTML = "EXPIRED";
          }
    }, 1000);

Ce que j'obtiens

Mais dès que j'essaie d'adabter (avec une adabtation assez bancale je vous avous xD) bah le compteur ne s'affiche plus :/

Please help me x(

1 réponse


Sans voir le réel code HTML, il va être dur de te donner une solution mais tu écris document.getElementsByClassName("demo").innerHTML, hors getElementsByClassName retourne une HTMLCollection donc tu vas forcément avoir un problème.