This is probably because your computer or phone is slightly out of sync with the server.
The timers are javascript running on your side, using your computer's clock. But, as the page is loading, the server-provided remaining time from when the page was generated is shown instead. As soon as the page finishes loading, the javascript runs and the timer will update. If your clock is different to the server, this causes a big jump in the displayed remaining time.
Similarly, when your computer thinks that the time has run down (but the server does not), your machine will display "now".
If this bothers you, you can attempt to change your computer's clock to match the server time. This is easiest during live games, since you have the countdown timer in seconds.
There's another issue sometimes when switching tabs - depending on your browser, javascript doesn't always run when you're not looking at the page. So, sometimes when you switch tabs to a game you haven't looked at for a while, the timer will display an outdated time for a moment or two before making a big jump.