Ваш вариант с API думаю имеет смысл, но как это совместить с моим таймером? чтобы когда я на странице - таймер шел, когда переключился - таймер ждал...
вот маленький код полностью рабочий! на API который я нашел:
<div class="container">
  <h1 class="title">Hey! You're here. Don't leave</h1>
</div>
var title = document.querySelector('.title');
var handleChange = function handleChange() {
  if (!document.hidden) {
    setTimeout(function () {
      document.body.classList.remove('hidden');
      title.innerText = 'But you\'re back now';
    }, 2000);
  } else {
    document.body.classList.add('hidden');
    title.innerText = 'I missed you';
  }
};
window.addEventListener('visibilitychange', handleChange);
Он работает с полоборота! Помогите совместить этот код с запуском и остановкой функции:
function startClock() {
    if (vtime == 60) {
        document.getElementById('blockwait').style.display = 'none';
        document.getElementById('blocktimer').style.display = '';
    }
    if (vtime >= 0) {
        document.forms['frm'].clock.value = vtime;
        vtime ++;
        tm = setTimeout("startClock(0)", 1000);
    } else {
        if (tm)
            clearTimeout(tm);
        nextstep(0, cnt);
    }
}