如何用SetInterval实现抛硬币动画:交替切换Heads和Tails
实现严格交替的抛硬币动画
你可以通过维护一个状态变量来记录当前显示的是正面还是反面,每次触发setInterval时切换这个状态,再更新图片地址,就能实现严格交替的效果:
// 初始化状态,默认显示正面 let isHeads = true; let rollingAnimator = setInterval(() => { // 根据当前状态切换图片地址 image.src = isHeads ? "heads.png" : "tails.png"; // 翻转状态,下次触发时切换到另一面 isHeads = !isHeads; }, 100);
补充说明
- 变量
isHeads作为状态开关,每次执行回调时取反,确保严格交替切换两张图片 - 若需要在动画结束后停止切换,可在合适时机调用
clearInterval(rollingAnimator)终止定时器
内容的提问来源于stack exchange,提问作者salim
相关产品推荐
相关产品推荐

