婴儿房去掉滚动视差,修复滑动时房子颤动 (v26100210)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<title>兜爸心选 · 孕育陪伴</title>
|
||||
<!-- V:26100209 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<!-- V:26100210 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<link rel="stylesheet" href="mama-box.css">
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
|
||||
<!-- 共享助手:授权/跳商城/位置上报(分享卡片同步,见 docs/h5-auth-standard.md 第四节) -->
|
||||
|
||||
20
js/app.js
20
js/app.js
@@ -3,7 +3,7 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||
var VER = '26100209';
|
||||
var VER = '26100210';
|
||||
const $ = (s, c) => (c || document).querySelector(s);
|
||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||
|
||||
@@ -3236,22 +3236,8 @@
|
||||
/* 2026-10-02 整块可点(按钮的点击冒泡上来,同一个入口) */
|
||||
sec.addEventListener('click', () =>
|
||||
jumpApp(NURSERY_URL + '?return_url=' + encodeURIComponent(location.origin + location.pathname), NURSERY_ID));
|
||||
/* 视差:图层始终对齐 .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();
|
||||
/* 2026-10-03 去掉视差:原来每帧按 .screen 滚动位置写 transform,微信里 JS 滚动事件比页面滚动慢一拍,
|
||||
滑过这块时房子跟着抖。现在图层就是块内静态图,跟页面一起滚(样式见 mama-box.css 同日注释)。 */
|
||||
/* 封面版本:3D 婴儿房会话换图(文件名不变)时改这里,强制微信 webview 重新拉图 */
|
||||
const NY_COVER_V = '20261001p';
|
||||
const tick = () => {
|
||||
|
||||
@@ -4274,3 +4274,6 @@ a.skip:focus{left:16px;top:16px}
|
||||
.ny-peek.is-night .nyp-btn{background:linear-gradient(135deg,#9AD69A,#62B474);box-shadow:0 4px 12px rgba(0,0,0,.3)}
|
||||
/* 同日:左上角「进去看看」角标也跟按钮统一成青草绿 */
|
||||
.nyp-chip{color:#3F8F52;box-shadow:0 2px 8px rgba(70,152,90,.18)}
|
||||
/* 2026-10-03:婴儿房去掉视差(滑动时会颤),图层固定铺满这一块、跟页面一起滚;
|
||||
取景对齐原来「这块滑到屏幕正中」时的画面 */
|
||||
.nyp-layer{height:100%;transform:none;will-change:auto}
|
||||
|
||||
Reference in New Issue
Block a user