It stops when its clock does. The count comes from a
source, not from this browser, and between heartbeats it advances on its own
clock for at most holdover seconds, with the sync age on screen so
you can see how much of the number is interpolation. Past that the readout
turns to dashes and says the last value the source actually gave, rather
than counting on towards a T-0 nobody upstream agrees with any more. A
hold is different and looks different: someone stopped the count, so the
number stays true however long the hold lasts, and on release T-0 moves by
exactly the hold's length. A source that sends null is lost at
once, and one that keeps sending the same time is a stuck clock and goes
lost too.
import 'overscan'
import 'overscan/overscan.css'
<ov-countdown
id="clock"
holdover="1"
places="1"
></ov-countdown>import { OvCountdown } from 'overscan/react'
<OvCountdown
id="clock"
holdover="1"
places="1"
/>import { OvCountdown } from 'overscan/vue'
<OvCountdown
id="clock"
holdover="1"
places="1"
/>import OvCountdown from 'overscan/svelte/OvCountdown.svelte'
<OvCountdown
id="clock"
holdover="1"
places="1"
/>import 'overscan'
import 'overscan/overscan.css'
<ov-countdown
source="mission"
target="252000"
></ov-countdown>import { OvCountdown } from 'overscan/react'
<OvCountdown
source="mission"
target="252000"
/>import { OvCountdown } from 'overscan/vue'
<OvCountdown
source="mission"
target="252000"
/>import OvCountdown from 'overscan/svelte/OvCountdown.svelte'
<OvCountdown
source="mission"
target="252000"
/>import 'overscan'
import 'overscan/overscan.css'
<ov-countdown
source="mission"
target="540000"
holding=""
></ov-countdown>import { OvCountdown } from 'overscan/react'
<OvCountdown
source="mission"
target="540000"
holding=""
/>import { OvCountdown } from 'overscan/vue'
<OvCountdown
source="mission"
target="540000"
holding=""
/>import OvCountdown from 'overscan/svelte/OvCountdown.svelte'
<OvCountdown
source="mission"
target="540000"
holding=""
/>import 'overscan'
import 'overscan/overscan.css'
<ov-countdown
clock="0"
target="252000"
></ov-countdown>import { OvCountdown } from 'overscan/react'
<OvCountdown
clock="0"
target="252000"
/>import { OvCountdown } from 'overscan/vue'
<OvCountdown
clock="0"
target="252000"
/>import OvCountdown from 'overscan/svelte/OvCountdown.svelte'
<OvCountdown
clock="0"
target="252000"
/>