用 requestAnimationFrame 驱动 Canvas 动画时,组件隐藏或卸载要取消什么避免幽灵绘制?
用 requestAnimationFrame 驱动 Canvas 动画时,组件隐藏或卸载要取消什么避免幽灵绘制? 本文先给出可直接复述的结论,再用最小代码说明Canvas requestAnimationFrame cancelAnimationFrame 清理的工作方式、判断依据、项目边界和常见误区。
浏览器 · 动画面试题第 1 页,显示第 1–11 题,共找到 11 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
用 requestAnimationFrame 驱动 Canvas 动画时,组件隐藏或卸载要取消什么避免幽灵绘制? 本文先给出可直接复述的结论,再用最小代码说明Canvas requestAnimationFrame cancelAnimationFrame 清理的工作方式、判断依据、项目边界和常见误区。
Canvas 在高 DPR 屏幕上模糊时,应该怎样按 devicePixelRatio 设置尺寸与变换? 本文先给出可直接复述的结论,再用最小代码说明Canvas devicePixelRatio 模糊 高清屏的工作方式、判断依据、项目边界和常见误区。
display:none、visibility:hidden、opacity:0 三种隐藏方式在布局、绘制、命中测试和可访问性上各有什么差异? 本文先给出可直接复述的结论,再用最小代码说明display none visibility hidden opacity 0 区别的工作方式、判断依据、项目边界和常见误区。
requestAnimationFrame 的回调相对一次渲染更新的布局、绘制步骤在什么时候执行,为什么适合在里面读写 DOM? 本文先给出可直接复述的结论,再用最小代码说明requestAnimationFrame 回调时机 渲染帧的工作方式、判断依据、项目边界和常见误区。
为什么用 transform 和 opacity 做动画通常比修改 top/left 或 width 更流畅? 本文先给出可直接复述的结论,再用最小代码说明transform opacity 动画 合成线程 性能的工作方式、判断依据、项目边界和常见误区。
View Transitions API 在 DOM 更新前后分别做了什么,为什么它能让状态切换变成平滑动画而不手写关键帧? 本文先给出可直接复述的结论,再用最小代码说明View Transitions API startViewTransition 过渡动画的工作方式、判断依据、项目边界和常见误区。
基于 visibilitychange 事件,哪些类型的页面任务应该在页面隐藏时暂停或降级,为什么? 本文先给出可直接复述的结论,再用最小代码说明visibilitychange 暂停视频 轮询 草稿保存的工作方式、判断依据、项目边界和常见误区。
创建一个专用 Worker 时,它的全局作用域和主线程有什么不同? 本文先给出可直接复述的结论,再用最小代码说明DedicatedWorkerGlobalScope 全局作用域差异的工作方式、判断依据、项目边界和常见误区。
Worker 中支持 setTimeout 和 setInterval 吗?它们与主线程有何异同? 本文先给出可直接复述的结论,再用最小代码说明Worker setTimeout setInterval 支持的工作方式、判断依据、项目边界和常见误区。
如何用 preventDefault 阻止滚轮事件引发的页面滚动,但保留自定义滚轮行为?需要注意什么? 本文先给出可直接复述的结论,再用最小代码说明wheel 事件 preventDefault 自定义滚动的工作方式、判断依据、项目边界和常见误区。
scroll 事件触发非常频繁,如何有效地控制处理频率?请对比 rAF、timeout 和 passive 的配合。 本文先给出可直接复述的结论,再用最小代码说明scroll 事件节流 requestAnimationFrame的工作方式、判断依据、项目边界和常见误区。