var wpm = $('#spritz_wpm').val(); var interval = 60000/wpm; var paused = false; var $space = $('.spritz-word'); var i = 1; /* TEXT PARSING */ function words_set() { words = $('.demo-text').val().trim() .replace(/([-—])(\w)/g, '$1 $2') .replace(/[\r\n]/g, ' {linebreak} ') .replace(/\. /g, '. {period} ') .replace(/[ \t]{2,}/g, ' ') .split(' '); for (var j = 1; j < words.length; j++) { words[j] = words[j].replace(/{linebreak}|{period}/g, ' '); } } /* ON EACH WORD */ function word_show(i) { var word = words[i]; var stop = Math.round((word.length+1)*0.4)-1; $space.html('<div>'+word.slice(0,stop)+'</div><div>'+word[stop]+'</div><div>'+word.slice(stop+1)+'</div>'); } /* ITERATION FUNCTION */ function word_update() { spritz = setInterval(function() { word_show(i); i++; if (i == words.length) { setTimeout(function() { $space.html(''); spritz_pause(); }, interval); clearInterval(spritz); }; }, interval); } /* PAUSING FUNCTIONS */ function spritz_pause() { clearInterval(spritz); paused = true; $('#spritz_pause').addClass('paused'); } function spritz_play() { word_update(); paused = false; $('#spritz_pause').removeClass('paused'); } function spritz_flip() { if (paused) { spritz_play(); } else { spritz_pause(); } } /* INITIATE */ words_set(); word_show(0); word_update(); /* CHANGE SPEED */ $('#spritz_wpm').on('input', function() { interval = 60000/$('#spritz_wpm').val(); if (!paused) { clearInterval(spritz); word_update(); } }); /* REFRESH TEXT */ $('#spritz_change').on('click', function() { clearInterval(spritz); words_set(); i = 0; spritz_play(); }); /* PAUSE BUTTON AND SPACE BAR */ $('#spritz_pause').on('click', function() { spritz_flip(); return false; }); $(document).on('keyup', function(e) { if (e.keyCode == 32) { spritz_flip(); } }) /* LIGHT/DARK THEME */ $('.light').on('click', function() { $('html').toggleClass('night'); return false; });