Command Palette

Search for a command to run...

Hectal
Phase 8: JavaScript Animation
Web Animation · Exercise 3 of 4 PreviousNext
Intermediate

Steps that wait for each other

Go slides the box, then fades it, then logs done. The starter guesses each duration with setTimeout, and the second step starts too early.

Rewrite it so each step waits for the one before with await ... .finished. Then make Cancel work: it calls cancel() on the running step, the code logs cancelled, and no Uncaught error appears.

What Check tests

  1. The fade starts only after the slide has ended (at 300 ms there is only the slide)
  2. After the slide and the fade, it logs done
  3. Cancel during the slide logs cancelled, and no Uncaught error appears

Stuck? One hint at a time

The solution unlocks after your first Check. Try first: that is where the learning happens.

Runs in your browser. Your code is saved here.

Your page

Press Run to see the page.
00:00.000
animations
0.00s0.10s0.20s0.30s0.40s0.50s0.60s0.70s0.80s0.90s

Nothing is moving yet. Hover, click or scroll the page: every animation it starts shows up here as a track.

frames

Console

Nothing logged yet.