Guest User

Untitled

a guest
Jun 6th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // KONSTRUKTOR
  2. function intervalTimer(callback, interval) {
  3.     let
  4.         startTime,
  5.         remaining = 0,
  6.         state = 0; //  0 = idle, 1 = running, 2 = paused, 3= resumed
  7.  
  8.     this.pause = function() {
  9.         if (state != 1) {
  10.             return;
  11.         }
  12.  
  13.         remaining = interval - (new Date() - startTime);
  14.         window.clearInterval(timerId);
  15.         state = 2;
  16.     };
  17.  
  18.     this.resume = function() {
  19.         if (state != 2) {
  20.             return;
  21.         }
  22.  
  23.         state = 3;
  24.         window.setTimout(this.timeoutCallback, remaining);
  25.     };
  26.  
  27.     this.timeoutCallback = function() {
  28.         if (state != 3) {
  29.             return;
  30.         }
  31.  
  32.         callback();
  33.  
  34.         startTime = new Date();
  35.         timerId = window.setInterval(callback, interval);
  36.         state = 1;
  37.     };
  38.  
  39.     startTime = new Date();
  40.     timerId = window.setInterval(callback, interval);
  41.     state = 1;
  42. }
  43.  
  44. //NOWY OBJEKT
  45.     let clockInterval = new intervalTimer(function() {
  46.         if (seconds.innerHTML == 0) {
  47.             if (minutes.innerHTML !== "00") {
  48.                 minutes.innerHTML -= 1;
  49.                 minutes.innerHTML = leadingZeros(minutes.innerHTML);
  50.                 seconds.innerHTML = "59";
  51.             }
  52.  
  53.             else if (minutes.innerHTML == "00") {
  54.                 clearInterval(clock);
  55.             }
  56.         }
  57.  
  58.         else if (seconds.innerHTML !== 0) {
  59.             seconds.innerHTML -= 1;
  60.             seconds.innerHTML = leadingZeros(seconds.innerHTML);
  61.         }
  62.     }, 1000);
  63.  
  64. // DZIAŁA
  65.     resumePause.addEventListener("click", function() {
  66.         clockInterval.pause();
  67.     })
  68.  
  69. // NIE DZIAŁA
  70.     resumePause.addEventListener("click", clockInterval.pause());
Advertisement
Add Comment
Please, Sign In to add comment