2017-09-04 5 views
-1

Le script suivant est pour le compte à rebours, mais à l'actualisation de la page, il recommence depuis le début. Quelqu'un peut-il me suggérer la solution pour la même chose? J'ai tout changé mais j'ai échoué, quelqu'un peut-il me suggérer quoi en faire?le compte à rebours ne fonctionne pas correctement

function getTimeRemaining(endtime) { 
    var t = Date.parse(endtime) - Date.parse(new Date()); 
    var seconds = Math.floor((t/1000) % 60); 
    var minutes = Math.floor((t/1000/60) % 60); 
    var hours = Math.floor((t/(1000 * 60 * 60)) % 24); 
    var days = Math.floor(t/(1000 * 60 * 60 * 24)); 

    return { 
     'total': t, 
     'days': days, 
     'hours': hours, 
     'minutes': minutes, 
     'seconds': seconds 
    }; 
} 

function initializeClock(id, endtime) { 
    var clock = document.getElementById(id); 
    var daysSpan = clock.querySelector('.days'); 
    var hoursSpan = clock.querySelector('.hours'); 
    var minutesSpan = clock.querySelector('.minutes'); 
    var secondsSpan = clock.querySelector('.seconds'); 

    function updateClock() { 
     var t = getTimeRemaining(endtime); 

     daysSpan.innerHTML = t.days; 
     hoursSpan.innerHTML = ('0' + t.hours).slice(-2); 
     minutesSpan.innerHTML = ('0' + t.minutes).slice(-2); 
     secondsSpan.innerHTML = ('0' + t.seconds).slice(-2); 

     if (t.total <= 0) { 
      clearInterval(timeinterval); 
     } 
    } 

    updateClock(); 
    var timeinterval = setInterval(updateClock, 1000); 
} 

var deadline = new Date(Date.parse(new Date()) + 30 * 24 * 60 * 60 * 1000); 
initializeClock('clockdiv', deadline); 
+0

Utilisez localStorage si vous voulez stocker le temps écoulé – Lalit

+0

utilisation window.localStorage.setItem (« TestKey », « stocker la valeur de la minuterie »); et stockez la valeur de temporisateur et pour obtenir la valeur sur le chargement de page pour commencer à partir de lui. window.localStorage.getItem ('testKey') –

+0

S'il vous plaît quelqu'un m'aider avec le code – BRAHMA

Répondre

0

Vous ne stockez aucune donnée dans le navigateur de l'utilisateur, tout est effacé après l'actualisation de la page. Pour se débarrasser de ce problème, vous pouvez faire quelques choses:

  1. Utilisez le stockage local -> vous pouvez stocker quelque chose comme une chaîne ici, ce serait le meilleur, mais pas la façon plus facile de le faire (?) .

  2. Utilisez les cookies -> comme ci-dessus

  3. stockage

    session -> cela peut ne pas fonctionner comme prévu sur tous les navigateurs.

  4. Enregistrer les données dans un type de base de données. Celui-ci sera le plus difficile à implémenter, mais vous permettra de prolonger plus facilement les fonctionnalités de la minuterie à l'avenir.

+0

Pouvez-vous s'il vous plaît illustrer moi avec le code exact, je suis un débutant à cela. – BRAHMA

+0

@BRAHMA Quelle belle opportunité d'apprendre quelque chose de nouveau! – Teemu