txw/txw-mhzc-web
liulong 21c894e025 fix(gxnlpt): 收录/收藏切换时主滚动容器scrollTop跳变引起抖动
- 新增 _resetScrollToTopForViewSwitch:
  在 contentView 切换前瞬时(behavior:'auto')把 .content-wrap 的 scrollTop 复位到 0
- openSubmitView/openFavoritesView 切换 contentView 之前调用

根因:
list 视图主内容区高 ~3000px,submit/favorites 视图高 ~1200px。
用户从 list 视图某个分类(如"碳认证机构")点击收录/收藏时,
当前 scrollTop 通常 ~1500px,切换后 scrollTop 1500 > scrollHeight 1200,
浏览器自动把 scrollTop 钳到 0,造成"页面瞬间跳到顶部"的视觉抖动,
sidebar sticky 周围容器/背景也被一起拉到顶部,共同表现为"侧边栏抖动"。

方案:
contentView 切换前先瞬时复位 scrollTop,让浏览器只看到 1 次 layout,
避免 scrollTop 跳变。瞬时(behavior:'auto')而不是平滑(smooth),
因为平滑动画与 contentView 切换并行会多次回流反而更抖。

配合之前 deactived 钩子修复,本次一并提交。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 01:30:59 +08:00
..
.claude
devops
docs feat: 后端模式开关 & 页脚UI重构 & 登录认证链路改造 2026-06-08 18:00:21 +08:00
mock
public
src fix(gxnlpt): 收录/收藏切换时主滚动容器scrollTop跳变引起抖动 2026-06-09 01:30:59 +08:00
tests/unit
.browserslistrc
.commitlintrc.js
.cz-config.js
.env
.env.development feat: 后端模式开关 & 页脚UI重构 & 登录认证链路改造 2026-06-08 18:00:21 +08:00
.env.development.new feat: 后端模式开关 & 页脚UI重构 & 登录认证链路改造 2026-06-08 18:00:21 +08:00
.env.production
.env.test
.eslintignore
.eslintrc.js
.gitattributes
.gitignore
.stylelintrc.json
.yarnrc
babel.config.js
Dockerfile
env.multiple-deploy
jsconfig.json
nginx.conf
nodemon.json
package-lock.json
package.json
prettier.config.js
proxy.js
README.md
stylelint.config.js
vue.config.js feat: 后端模式开关 & 页脚UI重构 & 登录认证链路改造 2026-06-08 18:00:21 +08:00