Спасибо.
Хоть и пришлось отредактировать код под setTimeout но он почему-то не помог срабатывал так же как setInterval и хоть тот работает по другому. А решить ситуацию мне помогло собитие visibilitychange сработало так как я и хотел. То есть вне активности окна все в ожидании, а при возврате к окну все просто продолжает работать без багов.
Инфу нашол здесь:
https://developer.mozilla.org/uk/doc...торінки