cubic-bezier 四个参数分别控制什么?
cubic-bezier() 的四个数定义控制点;两个 x 坐标必须在 0 到 1 之间,y 坐标可以越界并产生回弹或超冲。ease 等关键字对应固定曲线,自定义动效时要同时观察起步、收尾和中段速度,不能只看总时长。
动画专题面试题第 2 页,显示第 51–79 题,共找到 79 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
cubic-bezier() 的四个数定义控制点;两个 x 坐标必须在 0 到 1 之间,y 坐标可以越界并产生回弹或超冲。ease 等关键字对应固定曲线,自定义动效时要同时观察起步、收尾和中段速度,不能只看总时长。
transition 需要同一元素的计算后样式发生变化,并且浏览器能识别变化前后的状态。颜色、透明度等属性可插值,display 等离散属性要配合 transition-behavior: allow-discrete;入场还常需 @starting-style 给出起始状态。
只把元素 opacity 降为零,透明区域仍可能接收点击和焦点。把 visibility 的切换延后到淡出完成,可让退出动画结束后再隐藏;重新显示时延迟规则也要配套调整,否则元素可能先不可见再突然出现。
transition 适合按钮悬停、面板开合这类在两种状态间切换的效果;animation 适合多关键帧、循环或自动播放。两者的触发方式、暂停控制和结束状态处理不同,选型应取决于动效是否需要独立时间线。
prefers-reduced-motion: reduce 表示用户偏好减少非必要运动。可以在该条件下关闭持续位移、缩放、视差等容易造成不适的动画,或换成更温和的淡入;不要假定所有动画都必须彻底删除。
如何用 preventDefault 阻止滚轮事件引发的页面滚动,但保留自定义滚轮行为?需要注意什么? 本文先给出可直接复述的结论,再用最小代码说明wheel 事件 preventDefault 自定义滚动的工作方式、判断依据、项目边界和常见误区。
scroll 事件触发非常频繁,如何有效地控制处理频率?请对比 rAF、timeout 和 passive 的配合。 本文先给出可直接复述的结论,再用最小代码说明scroll 事件节流 requestAnimationFrame的工作方式、判断依据、项目边界和常见误区。
React 中 requestAnimationFrame 循环驱动画布时,Effect 的 cleanup 取消的是哪一帧,为什么只取消一次可能不够? 本文先给出可直接复述的结论,再用最小代码说明React requestAnimationFrame Effect cleanup 取消 循环的工作方式、判断依据、项目边界和常见误区。
startTransition 标记的非紧急更新在调度上有什么不同的行为? 本文先给出可直接复述的结论,再用最小代码说明startTransition 非紧急更新 并发的工作方式、判断依据、项目边界和常见误区。
React 19 中 startTransition 接受 async 函数(Action)后与 React 18 的用法有什么不同? 本文先给出可直接复述的结论,再用最小代码说明React 19 startTransition async Action 区别的工作方式、判断依据、项目边界和常见误区。
为什么不能把受控输入框的 value 更新包在 startTransition 里? 本文先给出可直接复述的结论,再用最小代码说明startTransition 受控输入 不能延迟的工作方式、判断依据、项目边界和常见误区。
为什么 transition 不能减少渲染的总工作量,什么场景用它没有收益? 本文先给出可直接复述的结论,再用最小代码说明transition 局限 不减少工作量的工作方式、判断依据、项目边界和常见误区。
transition 与 Suspense 配合时如何避免已显示内容被 fallback 骨架屏替换? 本文先给出可直接复述的结论,再用最小代码说明transition Suspense fallback 避免闪烁的工作方式、判断依据、项目边界和常见误区。
用 transition 优化搜索输入与用防抖优化有什么本质区别? 本文先给出可直接复述的结论,再用最小代码说明React transition 防抖 区别的工作方式、判断依据、项目边界和常见误区。
优化慢列表渲染时,useTransition 和 useDeferredValue 应该如何选择? 本文先给出可直接复述的结论,再用最小代码说明useTransition useDeferredValue 选择的工作方式、判断依据、项目边界和常见误区。
useTransition 返回的 isPending 适合设计什么样的加载反馈? 本文先给出可直接复述的结论,再用最小代码说明useTransition isPending 加载反馈的工作方式、判断依据、项目边界和常见误区。
为什么 React Native 中用 Animated 改变 width/height 无法走原生驱动,代价是什么? 本文先给出可直接复述的结论,再用最小代码说明Animated 布局动画 width 原生驱动 不支持的工作方式、判断依据、项目边界和常见误区。
React Native 列表项入场动画为什么容易和 FlatList 虚拟化冲突? 本文先给出可直接复述的结论,再用最小代码说明FlatList item 入场动画 复用 冲突的工作方式、判断依据、项目边界和常见误区。
React Native Animated 的 useNativeDriver 把什么工作移出了 JS 线程,支持哪些属性? 本文先给出可直接复述的结论,再用最小代码说明Animated useNativeDriver 原生驱动 支持属性的工作方式、判断依据、项目边界和常见误区。
React Native 中每帧 setState 驱动动画为什么是反模式? 本文先给出可直接复述的结论,再用最小代码说明React Native setState 动画 每帧 反模式的工作方式、判断依据、项目边界和常见误区。
React Native 手势跟手动画要保证 60fps,关键约束是什么? 本文先给出可直接复述的结论,再用最小代码说明React Native 手势动画 60fps 掉帧的工作方式、判断依据、项目边界和常见误区。
React Native 的 InteractionManager.runAfterInteractions 解决什么问题,有什么局限? 本文先给出可直接复述的结论,再用最小代码说明InteractionManager runAfterInteractions 场景的工作方式、判断依据、项目边界和常见误区。
React Native 中 JS 线程被长任务阻塞时用户会看到什么现象,为什么? 本文先给出可直接复述的结论,再用最小代码说明React Native JS 线程阻塞 界面卡死的工作方式、判断依据、项目边界和常见误区。
React Native LayoutAnimation 适合哪类动画,什么时候不够用? 本文先给出可直接复述的结论,再用最小代码说明LayoutAnimation 适用场景 局限的工作方式、判断依据、项目边界和常见误区。
React Native 中监听 ScrollView 的 onScroll 为什么必须设置 scrollEventThrottle 并谨慎处理回调? 本文先给出可直接复述的结论,再用最小代码说明scrollEventThrottle onScroll 性能的工作方式、判断依据、项目边界和常见误区。
React Native 页面转场卡顿的官方排查思路是什么? 本文先给出可直接复述的结论,再用最小代码说明React Native 转场卡顿 slow navigator transitions的工作方式、判断依据、项目边界和常见误区。
Playwright 视觉对比因抗锯齿和动画产生抖动时有哪些官方手段降低误报 本文先给出可直接复述的结论,再用最小代码说明Playwright 视觉测试 抖动 maxDiffPixels 动画的工作方式、判断依据、项目边界和常见误区。
给出 Vue 修改状态后等待 nextTick 再访问节点的写法,说明它等待更新刷新而不是网络、动画和浏览器绘制,并区分一次操作与持续 post 监听。
小程序逻辑层执行耗时任务会卡住什么,为什么渲染层动画仍可运行但事件响应变慢? 本文先给出可直接复述的结论,再用最小代码说明小程序 逻辑层 阻塞 JsCore 耗时任务的工作方式、判断依据、项目边界和常见误区。