Есть таймер, но он работает только когда пользователь на сайте, а если зайдет на другой оставив мой сайт во вкладках, то таймер заморозиться и при возврате он продолжит работать с того места откуда приостановился
На каждом тике таймера записывайте текущее время.
на следующем тике получайте текущее время и смотрите разницу, на эту разницу корректируйте таймер.
То есть у вас например тик раз в секунду. Но тут между тиками прошло вдруг 30 (вкладка поменялась, пользователь переключится в другое приложение, компьютер внезапно уснул - все что угодно) - значит надо отнять из оставшегося времени не секунду а 30.
Егор Щапов, что прекратить? что там в этой статье читать? неясно, неясно. Но то что вы чем-то недовольны из вашего комментария я понял, не могу сказать что мне зачем-либо может пригодиться эта информация.