v26110267 预览:首页头图倒计时翻牌;百宝箱入口人数改几十万带小数;30 个测试开始页按参考图精简居中;产假计算器模式(calc=1)计算器置顶

Co-Authored-By: AI 助手
This commit is contained in:
deploy
2026-11-03 22:26:34 +00:00
parent a536e81e01
commit aabe4f9b38
14 changed files with 211 additions and 138 deletions

View File

@@ -68,7 +68,7 @@
function getJSON(u) { return fetch(u, { cache: 'no-cache' }).then(function (r) { if (!r.ok) throw r.status; return r.json(); }); }
function related(box) {
getJSON('../_shared/idx.json?v=26110266').then(function (idx) {
getJSON('../_shared/idx.json?v=26110267').then(function (idx) {
var me = null; idx.forEach(function (x) { if (x[0] === SLUG) me = x; });
var tag = me ? me[2] : '', h = 0; for (var i = 0; i < SLUG.length; i++) h = (h * 31 + SLUG.charCodeAt(i)) >>> 0;
var rest = idx.filter(function (x) { return x[0] !== SLUG; });
@@ -175,7 +175,7 @@
}
fetch(API + '/comments?kind=topic&target=' + encodeURIComponent(SLUG) + (OID ? '&openid=' + encodeURIComponent(OID) : ''))
.then(function (r) { return r.json(); }).then(function (j) { if (j && j.code === 200) { RC = j.result; paint(); } }).catch(function () {});
getJSON('../_shared/cm/' + SLUG + '.json?v=26110266').then(function (d) { L = d.c || []; paint(); }).catch(function () { paint(); });
getJSON('../_shared/cm/' + SLUG + '.json?v=26110267').then(function (d) { L = d.c || []; paint(); }).catch(function () { paint(); });
}
function extras(el) {

View File

@@ -64,7 +64,7 @@ button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
(function () {
'use strict';
var $ = function (s) { return document.querySelector(s); };
function href(u) { return u + (location.search || '') + (location.hash || ''); }
function href(u, cm) { return u + (cm ? (location.search ? location.search + '&' : '?') + 'calc=1' : (location.search || '')) + (location.hash || ''); } /* cm:产假页进计算器模式(11-03) */
function esc(s) { return String(s == null ? '' : s).replace(/[&<>"]/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;' }[c]; }); }
/* 人数口径同首页:「此刻」总人数(默认 151 万)× 固定比例,模拟数(AGENTS.md 12b) */
var TOT = 1510000;
@@ -77,13 +77,13 @@ button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
};
var L = [
{ n: '生娃花费计算器', tag: '最多人用', d: '产检、分娩、月子、宝宝第一年,一共要花多少钱', u: '../huafei/', heat: .118, c: '#F07A2E', bg: '#FFF0E4', ic: SV.money },
{ n: '产假天数计算器', d: '能休几天、哪天开始休、哪天回去上班', u: '../zhichang/', heat: .062, c: '#5B6CFF', bg: '#EEF0FF', ic: SV.cal },
{ n: '产假天数计算器', d: '能休几天、哪天开始休、哪天回去上班', u: '../zhichang/', cm: 1, heat: .062, c: '#5B6CFF', bg: '#EEF0FF', ic: SV.cal },
{ n: '胎儿体重估算', d: '填 B 超上的几个数,估宝宝现在多重', u: '/taier-guzhong/', heat: .071, c: '#2E9B78', bg: '#E6F6F0', img: '/upload/picture/715333a69fb67d8812ab093f342fa00f.png', gate: 15 },
{ n: '孕期增重计算', d: '按孕前身高体重,算你整个孕期该长多少斤', u: '/yunqi-tizhong/', heat: .083, c: '#E25C7A', bg: '#FFECEF', img: '/upload/picture/a6d7e61edee2ff0395cf00587a7c4036.svg' }
];
$('#list').innerHTML = L.map(function (x, i) {
var lk = x.gate && week && week < x.gate;
return '<a class="it' + (lk ? ' lk' : '') + '" data-i="' + i + '" href="' + esc(href(x.u)) + '" style="--c:' + x.c + ';--bg:' + x.bg + '">' +
return '<a class="it' + (lk ? ' lk' : '') + '" data-i="' + i + '" href="' + esc(href(x.u, x.cm)) + '" style="--c:' + x.c + ';--bg:' + x.bg + '">' +
'<span class="ic">' + (x.img ? '<img src="' + esc(x.img) + '" alt="">' : x.ic) + '</span>' +
'<span class="tx"><b>' + esc(x.n) + (x.tag ? '<i>' + esc(x.tag) + '</i>' : '') + (lk ? '<i>孕' + x.gate + '周开放</i>' : '') + '</b><p>' + esc(x.d) + '</p><small>' + wan(TOT * x.heat) + '人算过</small></span>' +
'<span class="go">去算</span></a>';

View File

@@ -184,6 +184,21 @@ details.fold .bd p+p{margin-top:6px}
.fade{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
.fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.track i{transition:none}}
/* 11-03 用户:「产假计算那个,点进来第一屏就要能算自己有多少产假,其他内容精简」
→ 从「孕期计算器」入口(百宝箱 / topic/jisuan,带 calc=1)进来是计算器模式:顶部换成一句话标题,计算器提到第一屏、结果放最上面,
「记住这 3 点」留着;三阶段时间轴、被劝退怎么办收进一个按钮「看完整的职场维权指南」,点了才展开。从「其他孕妈也在搜」进来仍是原文章页。 */
.cm-hd,.cm-more{display:none}
html.cm .hero,html.cm .me,html.cm #s2 .sh,html.cm #s2 .lead{display:none}
html.cm:not(.cm-all) #s1,html.cm:not(.cm-all) #s3{display:none}
html.cm .cm-hd{display:block;margin-top:-48px;padding:60px 20px 4px;background:linear-gradient(180deg,var(--cbg),#fff)}
.cm-hd p{font-size:12.5px;font-weight:700;color:var(--c);letter-spacing:1px}
.cm-hd h1{margin-top:4px;font-size:25px;font-weight:900;line-height:1.3;color:var(--h)}
.cm-hd span{display:block;margin-top:4px;font-size:14px;color:var(--m)}
html.cm #s2{margin-top:6px}
html.cm .calc{display:flex;flex-direction:column;margin-top:8px;box-shadow:0 10px 30px -18px rgba(91,108,255,.5)}
html.cm .calc .res{order:-1;margin:0 0 16px}
html.cm .key{margin-top:26px}
html.cm:not(.cm-all) .cm-more{display:flex;align-items:center;justify-content:center;gap:4px;margin:22px 20px 0;height:46px;border-radius:99px;background:var(--cbg);color:var(--c);font-size:14.5px;font-weight:700;width:calc(100% - 40px)}
</style>
</head>
<body>
@@ -207,6 +222,9 @@ details.fold .bd p+p{margin-top:6px}
<span class="t">孕期专题</span>
</header>
<!-- 计算器模式顶部(calc=1 时显示,见样式说明) -->
<section class="cm-hd"><p>孕期计算器</p><h1>产假天数计算器</h1><span>填好预产期,算出能休几天、哪天回去上班</span></section>
<section class="hero">
<i class="blob b1"></i><i class="blob b2"></i>
<p class="eyebrow">孕期专题 · 职场篇</p>
@@ -337,6 +355,8 @@ details.fold .bd p+p{margin-top:6px}
</details>
</section>
<button type="button" class="cm-more" id="cmMore">看完整的职场维权指南 ›</button>
<div id="tools"></div>
<details class="fold src">
@@ -360,6 +380,16 @@ details.fold .bd p+p{margin-top:6px}
var $ = function (s) { return document.querySelector(s); };
function hp(n) { var h = (location.hash.slice(1) || '') + '&' + (location.search.slice(1) || ''); var m = h.match(new RegExp('(?:^|&)' + n + '=([^&]*)')); return m ? decodeURIComponent(m[1]) : ''; }
var openid = hp('openid');
/* 计算器模式:计算器挪到最前(DOM 上紧跟顶部标题),「记住这 3 点」跟在后面 */
if (hp('calc')) {
document.documentElement.classList.add('cm');
document.title = '产假天数计算器';
document.querySelector('#bar .t').textContent = '孕期计算器';
var hd = document.querySelector('.cm-hd');
hd.parentNode.insertBefore(document.getElementById('s2'), hd.nextSibling);
document.getElementById('s2').parentNode.insertBefore(document.querySelector('.key'), document.getElementById('s2').nextSibling);
document.getElementById('cmMore').addEventListener('click', function () { document.documentElement.classList.add('cm-all'); setTimeout(function () { go('s1'); }, 30); });
}
var sc = $('#scroll');
/* 返回:从首页点进来就 back;直接打开(分享 / 刷新)就回同目录的首页,身份原样带回 */