This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The DocumentTimeline() constructor of the Web Animations API creates a new instance of the DocumentTimeline object associated with the active document of the current browsing context.


var sharedTimeline = new DocumentTimeline(options);


An object specifying options for the new timeline. Currently the only supported option is the originTime member which specifies the zero time for the documentTimeline as a real number of milliseconds relative to the navigationStart moment of the active document for the current browsing context.


We could share a single documentTimeline among multiple animations, thus allowing us to manipulate just that group of animations via their shared timeline. This bit of code would start all the cats animating 500 milliseconds into their animations:

var cats = document.querySelectorAll('.sharedTimelineCat');
cats =;

var sharedTimeline = new DocumentTimeline({ originTime: 500 });

cats.forEach(function(cat) {
  var catKeyframes = new KeyframeEffect(cat, keyframes, timing);
  var catAnimation = new Animation(catKeyframes, sharedTimeline);;


Specification Status Comment
Web Animations
The definition of 'DocumentTimeline()' in that specification.
Working Draft Editor's draft.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support61 No50 No ? No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support6161 No50 ? No No

See also

Document Tags and Contributors

Contributors to this page: fscholz, jpmedley, birtles, rachelnabors, chrisdavidmills
Last updated by: fscholz,