Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. $(document).ready(function() {
  2.  
  3. var dial = $('.dial');
  4. var startPauseBtn = $('.start-pause');
  5. var reset = $('.reset');
  6. var multi = 0;
  7. var flipCounter = 0;
  8. var text
  9. , timer
  10. , lastTime
  11. , running;
  12.  
  13. dial.knob({
  14. 'max': 59
  15. , 'stopper': false
  16. , 'fgColor': '#000'
  17. , 'change': function(v) {
  18. change(v);
  19. }
  20. });
  21.  
  22. var change = function(v) {
  23. if (v >= 0) {
  24. if (v % 60 == 0 && lastTime % 60 == 59)
  25. multi++;
  26. if (v % 60 == 59 && lastTime % 60 == 0)
  27. if (multi > 0)
  28. multi--;
  29. text.html(v + (60 * (multi)));
  30. lastTime = v;
  31. dial.trigger('change');
  32. }
  33. }
  34.  
  35. setTimeout(function() {
  36. text = $('<span class="text">0</span>')
  37. .attr('style', dial.attr('style'))
  38. .insertAfter('.dial')
  39. .css({
  40. 'color': '#000'
  41. , 'margin-top': '70px'
  42. , 'cursor': 'pointer'
  43. });
  44.  
  45. text.click(startPause);
  46.  
  47. dial.hide();
  48. },0);
  49.  
  50. var pause = function() {
  51. running = false;
  52. startPauseBtn.html('<i class="fa fa-play"></i>');
  53. clearInterval(timer);
  54. };
  55.  
  56. var startPause = function () {
  57. var time = parseInt(text.html());
  58. if (!running && time > 0) {
  59. running = true;
  60. startPauseBtn.html('<i class="fa fa-pause"></i>');
  61. timer = setInterval(function() {
  62. dial
  63. .val(parseInt(dial.val())-1)
  64. .trigger('change');
  65. text.html(parseInt(dial.val()) + (60 * (multi)));
  66.  
  67. if (text.html() === '0') {
  68. pause();
  69. return text.html('Go!');
  70. }
  71.  
  72. if (dial.val() === '0' && multi > 0) {
  73. flipCounter++;
  74. if (flipCounter === 2) {
  75. dial.val((60 * multi) - 1).trigger('change');;
  76. text.html((60 * multi) - 1);
  77. multi--;
  78. flipCounter = 0;
  79. }
  80. }
  81. }, 1000);
  82. }
  83. else pause();
  84. }
  85.  
  86. startPauseBtn.click(startPause);
  87.  
  88. reset.click(function() {
  89. multi = 0;
  90. pause();
  91. dial
  92. .val(0)
  93. .trigger('change');
  94. text.html(0);
  95. });
  96.  
  97. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement