婴儿房恢复滚动视差(撤回 v26100210)(v26100211)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-03 07:11:45 +00:00
parent 26a13076fd
commit 2eafc08c74
3 changed files with 18 additions and 7 deletions

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26100210';
var VER = '26100211';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -3236,8 +3236,22 @@
/* 2026-10-02 整块可点(按钮的点击冒泡上来,同一个入口) */
sec.addEventListener('click', () =>
jumpApp(NURSERY_URL + '?return_url=' + encodeURIComponent(location.origin + location.pathname), NURSERY_ID));
/* 2026-10-03 去掉视差:原来每帧按 .screen 滚动位置写 transform,微信里 JS 滚动事件比页面滚动慢一拍,
滑过这块时房子跟着抖。现在图层就是块内静态图,跟页面一起滚(样式见 mama-box.css 同日注释)。 */
/* 视差:图层始终对齐 .screen 的可视区 → 页面滚、房间不动,像铺在整页背后 */
const layer = $('#nypLayer'), scr = sec.closest('.screen');
let raf = 0;
const place = () => {
raf = 0;
if (!scr) return;
const s = scr.getBoundingClientRect(), r = sec.getBoundingClientRect();
if (!s.height || !r.height) return;
layer.style.height = s.height + 'px';
layer.style.transform = 'translate3d(0,' + Math.round(s.top - r.top) + 'px,0)';
};
const req = () => { if (!raf) raf = requestAnimationFrame(place); };
if (scr) scr.addEventListener('scroll', req, { passive: true });
window.addEventListener('resize', req);
if ('IntersectionObserver' in window) new IntersectionObserver(req).observe(sec);
place();
/* 封面版本:3D 婴儿房会话换图(文件名不变)时改这里,强制微信 webview 重新拉图 */
const NY_COVER_V = '20261001p';
const tick = () => {