Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. (function () {
  2. 'use strict';
  3. var timer = document.getElementById('timer');
  4. var start = document.getElementById('start');
  5. var stop = document.getElementById('stop');
  6. var reset = document.getElementById('reset');
  7. var startTime;
  8. var elapsedTime = 0;
  9. var timerId;
  10. var timeToAdd = 0;
  11. var isRunning = false;
  12. function updateTimerText() {
  13. // 135200 -> 02:15.200
  14. // m = 135200 / 60000 の商
  15. // s = 135200 % 60000 / 1000
  16. // ms = 135200 % 1000
  17. var m = Math.floor(elapsedTime / 60000);
  18. var s = Math.floor(elapsedTime % 60000 / 1000);
  19. var ms = elapsedTime % 1000;
  20. m = ('0' + m).slice(-2);
  21. s = ('0' + s).slice(-2);
  22. ms = ('00' + ms).slice(-3);
  23. timer.textContent = m + ':' + s + '.' + ms;
  24. }
  25. function countUp() {
  26. timerId = setTimeout(function () {
  27. // elapsedTime = Date.now() - startTime;
  28. elapsedTime = Date.now() - startTime + timeToAdd;
  29. // console.log(elapsedTime);
  30. updateTimerText();
  31. countUp();
  32. }, 10);
  33. }
  34. start.addEventListener('click', function () {
  35. if (isRunning === true) {
  36. return;
  37. }
  38. isRunning = true;
  39. startTime = Date.now();
  40. . countUp();
  41. });
  42. stop.addEventListener('click', function () {
  43. if (isRunning === false) {
  44. return;
  45. }
  46. isRunning = false;
  47. clearTimeout(timerId);
  48. timeToAdd += Date.now() - startTime;
  49. });
  50. reset.addEventListener('click', function () {
  51. if (isRunning === true) {
  52. return;
  53. }
  54. elapsedTime = 0;
  55. timeToAdd = 0;
  56. updateTimerText();
  57. });
  58. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement