ViewTimeline: ViewTimeline() constructor

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The ViewTimeline() constructor creates a new ViewTimeline object instance.

Syntax

js
new ViewTimeline(options)

Parameters

options

An object that can contain the following properties:

subject

A reference to an Element representing the subject element whose visibility within its nearest ancestor scrollable element (scroller) will drive the progress of the timeline.

axis Optional

An enumerated value representing the scroll axis that will drive the progress of the timeline. Possible values are:

  • "block": The scrollbar on the block axis of the scroll container, which is the axis in the direction perpendicular to the flow of text within a line. For horizontal writing modes, such as standard English, this is the same as "y", while for vertical writing modes, it is the same as "x".
  • "inline": The scrollbar on the inline axis of the scroll container, which is the axis in the direction parallel to the flow of text in a line. For horizontal writing modes, this is the same as "x", while for vertical writing modes, this is the same as "y".
  • "y": The scrollbar on the vertical axis of the scroll container.
  • "x": The scrollbar on the horizontal axis of the scroll container.

If omitted, axis defaults to "block".

inset Optional

A value or array of values representing an adjustment to the position of the scrollport (see Scroll container for more details) in which the subject is deemed to be visible. Possible values are:

  • "auto": The default box position is used.
  • A string: If a string is specified, it can consist of one or two values equal to auto or a CSS <length-percentage> value. To put it another way, the string should be a valid view-timeline-inset value.
  • An array of one or two values, which can be "auto" or a suitable CSSNumericValue to represent a length or percentage offset (for example CSS.px() or CSS.percent(). If an array is provided, the first value represents the start inset (which affects the ViewTimeline.endOffset value) and the second value represents the end inset (which affects the ViewTimeline.startOffset value).

If the array has only one value, it is duplicated.

If omitted, inset defaults to auto.

Return value

A new ViewTimeline object instance.

Examples

See the main ViewTimeline page for an example.

Specifications

Specification
Scroll-driven Animations
# dom-viewtimeline-viewtimeline

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ViewTimeline() constructor
Chrome – Full support
Chrome 115 (Release date: 2023-07-18)
footnote Full support
Edge – Full support
Edge 115 (Release date: 2023-07-21)
footnote Full support
Firefox – No support
Firefox
footnote
footnote See bug 1676779
Opera – Full support
Opera 101 (Release date: 2023-07-26)
footnote Full support
Safari – Full support
Safari 26 (Release date: 2025-09-15)
footnote Full support
Chrome Android – Full support
Chrome Android 115 (Release date: 2023-07-21)
footnote Full support
Firefox for Android – No support
Firefox for Android
footnote
footnote See bug 1676779
Opera Android – Full support
Opera Android 77 (Release date: 2023-08-31)
footnote Full support
Safari on iOS – Full support
Safari on iOS 26 (Release date: 2025-09-15)
footnote Full support
Samsung Internet – Full support
Samsung Internet 23 (Release date: 2023-10-18)
footnote Full support
WebView Android – Full support
WebView Android 115 (Release date: 2023-07-21)
footnote Full support
WebView on iOS – Full support
WebView on iOS 26 (Release date: 2025-09-15)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

See also