Experimental: 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.


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);;


Web Animations
# dom-documenttimeline-documenttimeline

Browser compatibility

BCD tables only load in the browser

See also