JavaScript アニメーションは CSS ではできないことを扱うことができます。 例えば、ベジェ曲線とは異なるタイミング関数を用いて複雑な経路に沿って移動したり、canvas 上でのアニメーションなどです。 setIntervalHTML/CSS の観点からは、アニメーションはスタイルプロパティの段階的な変更です。例えば、style.left を 0px から 100px に変更すると、要素が移動します。 そして、もしそれを setInterval の中で増加させるとき、毎秒 50 回の小さな変更を加えることによって、その変化はなめらかに見えます。これは映画館と同じ原理です。: 毎秒 24 以上のフレームがあれば十分に滑らかに見えます。 疑似コードは次のようになります: let delay = 1000 / 50; // 1 秒で 50 フレーム let timer = setInt