Files
OJ2/apps
yuetsh 77717e439d
Some checks failed
Deploy / deploy (push) Has been cancelled
fix(主题切换): 圆环从视口正中扩散,跟点击的地方对不上
深浅色切换的圆环扩散原本把圆心写死在 window.innerWidth / 2,不管点哪儿都从屏幕
正中冒出来。改成取指针落点。

半径也跟着修了。原来是 hypot(x, y),只量到左上角——圆心居中时恰好是对的,一挪到
按钮(在右上角)就不够长了,右下角会留一大块旧配色等圆环扩过去,看着像没刷新。
现在取到最远那个角的距离。

键盘触发(Enter / 空格)时 clientX/clientY 是 0,照用会让圆环从屏幕左上角冒出来,
这种情况退回按钮自身中心,用 event.detail === 0 判断。

startViewTransition 的降级判断原样保留,机房那批 Chrome 低于 94 仍然是直接切。

实测(钩住 documentElement.animate 看真实关键帧,视口 1280x633、按钮中心 1255,29):
点正中得 circle at 1255px 29px / r=1392.78,点按钮左上角 (1246,22) 得 at 1246px 22px,
说明跟的是指针不是按钮;键盘 Enter 得 at 1255px 29px,没跑到 (0,0)。三次主题都正确
翻转,无报错。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 11:18:12 -06:00
..