- From: Kevin Brewster via GitHub <sysbot+gh@w3.org>
- Date: Wed, 13 Jan 2021 20:19:39 +0000
- To: public-css-archive@w3.org
kevinbrewster has just created a new issue for https://github.com/w3c/csswg-drafts: == Web Animations Proposal: Add `Animation.started` and `Animation.playing` promises == # Problem 1. If you manually construct an `Animation` to be played at a later time, there's no way to know when it actually **playing**. 2. If the animation has a `delay`, there's no way to know when the animation effect actually **starts**. ```javascript let animation = new Animation(new KeyframeEffect(element, { opacity: 1 }, { delay: 1000, duration: 2000 })); animation.ready.then(_ => { console.log("animation is ready"); // this is logged immediately }); window.setTimeout(_ => { animation.play() }, 1500); // When will animation play? // When will the delay period end? ``` # Proposal Introduce two new promises on `Animation`: 1. `Animation.playing`: returns a `Promise` which resolves once the animation has started playing. 2. `Animation.started`: returns a `Promise` which resolves once the `delay` period is over and the effect has started ```javascript let animation = new Animation(new KeyframeEffect(element, { opacity: 1 }, { delay: 1000, duration: 2000 })); animation.ready.then(_ => { console.log("animation is ready"); // @ time = 0 }); animation.playing.then(_ => { console.log("animation is playing"); // @ time = 1500 }); animation.started.then(_ => { console.log("animation effect started"); // @ time = 2500 }); animation.finished.then(_ => { console.log("animation effect started"); // @ time = 4500 }); window.setTimeout(_ => { animation.play() }, 1500); ``` # Alternatives 1. `Animation.played` instead of `Animation.playing` for consistency in tense with `Animation.finished` 2. `Animation.effectStarted` instead of `Animation.started` for clarification Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5871 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 13 January 2021 20:19:40 UTC