如何在显示警报之前更新屏幕?
P粉764003519
P粉764003519 2024-03-30 21:18:25
[CSS3讨论组]

我正在制作一个国际象棋网站,想要显示一个警报来告诉玩家谁赢了。但是,当显示警报时,直到警报关闭后才会显示最后的移动。警报函数位于代码的最后,因此它应该在方块图像的源更改后出现。如何在显示警报之前更新屏幕?我没有或没有找到任何关于如何解决此问题的想法。

P粉764003519
P粉764003519

全部回复(1)
P粉283559033

requestAnimationFrame()函数将回调排队以在渲染一帧之前立即运行。一旦浏览器开始处理队列,所有对其的进一步调用都会计入之后的帧。

这意味着我们可以使用它来“等待”一定数量的帧:

requestAnimationFrame(() => {
  // This callback runs immediately before frame A

  requestAnimationFrame(() => {
    // This callback runs immediately before frame B; the frame after A
    
    // ...
  });
});

我们可以为此编写一个实用函数:

function waitFrames(n, callback) {
  if (n > 0) {
    // After next frame, wait n-1 frames
    requestAnimationFrame(() => waitFrames(n - 1, callback));
  } else {
    // Wait 0 frames; run before next frame
    requestAnimationFrame(callback);
  }
}

就您而言,您需要等待 1 帧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号