Search code examples
javascriptcountdown

Days count stop at zero


I want to do some countdown exercise https://www.youtube.com/watch?v=AbmVRYZ_AwE I did a different work by watching this video I want the countdown to stop at zero but I couldn't. maybe you can help?

var countDate = new Date('02,05,2021 00:00:00:00').getTime();

function newcampaign() {
  var now = new Date().getTime();
  gap = countDate - now;
  var saniye = 1000;
  var dakika = saniye * 60;
  var saat = dakika * 60;
  var gun = saat * 24;

  var d = Math.floor(gap / (gun));
  var h = Math.floor((gap % (gun)) / (saat));
  var m = Math.floor((gap % (saat)) / (dakika));
  var s = Math.floor((gap % (dakika)) / (saniye));

  document.getElementById('gun').innerText = d
  document.getElementById('saat').innerText = h
  document.getElementById('dakika').innerText = m
  document.getElementById('saniye').innerText = s
}



setInterval(function() {
  newcampaign()

}, 1000);
<div class="container">
  <h2><span>SSD Disk</span>KAMPANYA!<br>Geri Sayım</h2>
  <div class="countdown">
    <div id="gun">00</div>
    <div id="saat">00</div>
    <div id="dakika">00</div>
    <div id="saniye">00</div>

  </div>
</div>


Solution

  • You can stop it like this. (Selam olsun hehehe)

    <div class="container">
        <h2><span>SSD Disk</span>KAMPANYA!<br>Geri Sayım</h2>
        <div class="countdown">
            <div id="gun">00</div>
            <div id="saat">00</div>
            <div id="dakika">00</div>
            <div id="saniye">00</div>
            
        </div>
    </div>
    
    <script type="text/javascript">
        var countDate = new Date('02,06,2021 01:00:00:00').getTime();
        
        function newcampaign(interval){
            var now= new Date().getTime();
                gap=countDate - now;
                if(gap <= 0){
                  gap = 0;
                  clearInterval(interval)
                }
                var saniye=1000;
                var dakika=saniye*60;
                var saat=dakika*60;
                var gun=saat*24;
    
                var d = Math.floor(gap / (gun));
                var h = Math.floor((gap % (gun))/(saat));
                var m = Math.floor((gap % (saat))/(dakika));
                var s = Math.floor((gap % (dakika))/(saniye));
    
                document.getElementById('gun').innerText=d
                document.getElementById('saat').innerText=h
                document.getElementById('dakika').innerText=m
                document.getElementById('saniye').innerText=s
              }
             var interval = setInterval(function(){
                   newcampaign(interval)
              },1000);
    </script>