Files
mama-box/topic/niaobu-js/index.html

107 lines
8.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<title>纸尿裤要囤多少</title>
<!-- 孕期计算器 · 纸尿裤要囤多少(2026-11-06 用户从 20 个备选里选了 5 个,本页是其中之一)。
按月累加:每天片数 U(按月龄)× 30.4 天,按尺码 SZ(出生体重决定每个码穿到几个月)分到 NB / S / M / L;
母乳宝宝头 3 个月便便多,每天 +1 片;白天混用棉尿布 ×0.7;双胞胎 ×2。单价 P 是 2026 年电商常见到手价估算(元/片),包装片数 PK 取常见大包。
不是报价,只帮用户估量级、别囤错码。改数只改下面 U / SZ / P / PK。
共用 ../_shared/calc.css + calc.js;自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110464">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110464">
<style>#res .row b{font-size:17px;white-space:nowrap}:root{--c:#3E8FD8;--c2:#7BB8F0;--cbg:#EAF4FF}</style>
</head>
<body>
<div id="scroll">
<header class="bar" id="bar">
<button class="back" id="back" aria-label="返回"><svg viewBox="0 0 24 24"><path d="M15 5l-7 7 7 7"/></svg></button>
<span class="t">孕期计算器</span>
</header>
<section class="hd"><p>孕期计算器</p><h1>纸尿裤要囤多少</h1><span>每个码用多少片、买几包、一年花多少钱</span></section>
<section class="calc">
<div class="res" id="res"><div class="empty">选完马上算出来</div></div>
<div class="fld"><span class="lb">宝宝出生体重(没出生就选预估的)</span><div class="seg" id="cW"><button type="button" data-v="0">不到 5 斤</button><button type="button" data-v="1">5~7 斤</button><button type="button" data-v="2">7 斤以上</button></div>
<span class="hint">不知道就选 5~7 斤,大多数宝宝在这个范围;B 超估重可以参考</span></div>
<div class="fld"><span class="lb">一胎几个宝宝</span><div class="seg s2" id="cN"><button type="button" data-v="1">一个</button><button type="button" data-v="2">双胞胎</button></div></div>
<div class="fld"><span class="lb">打算怎么喂</span><div class="seg" id="cFeed"><button type="button" data-v="m">母乳为主</button><button type="button" data-v="h">混合喂养</button><button type="button" data-v="f">奶粉为主</button></div>
<span class="hint">母乳宝宝头几个月便便次数多,换得更勤</span></div>
<div class="fld"><span class="lb">白天会用棉尿布吗</span><div class="seg s2" id="cCloth"><button type="button" data-v="0">全用纸尿裤</button><button type="button" data-v="1">白天混着用</button></div></div>
<div class="fld"><span class="lb">想买什么价位的</span><div class="seg" id="cLv"><button type="button" data-v="0">平价</button><button type="button" data-v="1">中档</button><button type="button" data-v="2">高端进口</button></div>
<span class="hint">平价约 1.2~1.7 元/片,中档约 1.8~2.4 元,高端约 2.8~3.6 元(2026 年电商常见到手价)</span></div>
<div class="fld"><span class="lb">想先算到宝宝几个月</span><div class="seg" id="cTo"><button type="button" data-v="3">3 个月</button><button type="button" data-v="6">6 个月</button><button type="button" data-v="12">1 岁</button></div></div>
</section>
<section class="sec">
<h2>每个码用多少</h2>
<p class="lead" id="lead"></p>
<table class="tbl" id="tbl"><thead><tr><th>尺码</th><th>大约穿到</th><th>片数</th><th>约几包</th></tr></thead><tbody></tbody></table>
</section>
<section class="sec">
<h2>囤货提醒</h2>
<div class="cards">
<div class="cd"><div class="k"><b>NB 码别囤多</b></div><p>宝宝长得快,体重大的出生没几天就换 S 码。NB 先买 1~2 包,不够再补。</p></div>
<div class="cd"><div class="k"><b>先买小包试用</b></div><p>同一个牌子不一定适合每个宝宝,红屁股、侧漏就换。试好了再囤大包,赶上大促更划算。</p></div>
<div class="cd"><div class="k"><b>看体重换码,别看月龄</b></div><p>腰上勒出红印、大腿根勒紧、经常侧漏,就该换大一码了。</p></div>
<div class="cd"><div class="k"><b>1 岁后可以换拉拉裤</b></div><p>宝宝会爬会站后,穿脱方便的拉拉裤更省事,单价略贵一点。</p></div>
</div>
</section>
<p class="foot">片数和价格是估算,每个宝宝差别不小,以实际用量为准。</p>
</div>
<script src="../_shared/calc.js?v=26110464"></script>
<script>
(function () {
'use strict';
var C = window.CK, $ = C.$;
function Y(x) { var s = C.money(x); return /万$/.test(s) ? s + '元' : s + ' 元'; } /* 金额 + 单位:1,058 元 / 1.65 万元 */
C.shell();
/* 每天片数,按第几个月(0 起):新生儿 10~12 片,1~3 月 8~10,3~6 月 7~8,6~12 月 5~6 */
var U = [11, 9.5, 9, 8, 7.5, 7, 6, 6, 5.5, 5.5, 5, 5];
/* 各码穿到第几个月末(出生体重 0 小 / 1 中 / 2 大):[NB, S, M, L] 的结束月 */
var SZ = [[2, 5, 10, 12], [1, 4, 9, 12], [0.5, 3, 7, 12]];
var P = [[1.2, 1.3, 1.5, 1.7], [1.8, 1.9, 2.1, 2.4], [2.8, 3.0, 3.2, 3.6]];
var PK = [84, 80, 64, 54], NM = ['NB', 'S', 'M', 'L'], KG = ['5 公斤以内', '4~8 公斤', '6~11 公斤', '9~14 公斤'];
var st = C.store('mmbox.calc.niaobu', { w: '', n: '', feed: '', cloth: '', lv: '', to: '' });
['W', 'N', 'Feed', 'Cloth', 'Lv', 'To'].forEach(function (k) { C.seg($('#c' + k), st, k.toLowerCase(), paint); });
function paint() {
st.save();
var R = $('#res'), tb = $('#tbl tbody');
if (st.w === '' || st.n === '' || st.feed === '' || st.cloth === '' || st.lv === '' || st.to === '') { R.innerHTML = '<div class="empty">选完马上算出来</div>'; tb.innerHTML = ''; $('#lead').textContent = ''; return; }
var sz = SZ[st.w], pcs = [0, 0, 0, 0], step = 0.25;
for (var m = 0; m < st.to; m += step) {
var day = U[Math.floor(m)] + (m < 3 && st.feed === 'm' ? 1 : m < 3 && st.feed === 'h' ? .5 : 0);
var k = 0; while (k < 3 && m >= sz[k]) k++;
pcs[k] += day * 30.4 * step;
}
var f = (st.cloth === 1 ? .7 : 1) * st.n;
pcs = pcs.map(function (x) { return Math.round(x * f / 10) * 10; });
var tot = pcs.reduce(function (a, x) { return a + x; }, 0), cost = pcs.reduce(function (a, x, i) { return a + x * P[st.lv][i]; }, 0);
var mon = cost / st.to;
R.innerHTML = '<small>到宝宝' + (st.to === 12 ? ' 1 岁' : ' ' + st.to + ' 个月') + ',' + (st.n === 2 ? '两个宝宝' : '') + '一共大约要</small><span class="big num">' + tot.toLocaleString('zh-CN') + '<u>片</u></span>' +
'<div class="row"><div><small>大约花</small><b class="num">' + Y(cost) + '</b></div><div><small>平均每月</small><b class="num">' + Y(mon) + '</b></div><div><small>头月每天</small><b class="num">' + Math.round((U[0] + (st.feed === 'm' ? 1 : st.feed === 'h' ? .5 : 0)) * (st.cloth === 1 ? .7 : 1) * st.n) + ' 片</b></div></div>' +
'<span class="note">NB 码只要 ' + pcs[0] + ' 片左右,' + (pcs[0] <= 100 ? '一包就够' : '别一次囤太多') + ';用量最大的是 ' + NM[pcs.indexOf(Math.max.apply(null, pcs))] + ' 码。</span>';
var end = function (i) { var e = sz[i]; return e < 1 ? '出生后 2 周左右' : e >= 12 ? '1 岁左右' : e + ' 个月左右'; };
$('#lead').textContent = KG.map(function (k, i) { return NM[i] + ' ' + k; }).join(',') + '(各牌子略有差别)';
tb.innerHTML = pcs.map(function (x, i) {
if (!x) return '';
var pk = Math.max(1, Math.ceil(x / PK[i] - .15)); /* 整包,略超一点不多买一包 */
return '<tr><td><b>' + NM[i] + '</b></td><td>' + end(i) + '</td><td class="num">' + x + ' 片</td><td class="num">' + pk + ' 包</td></tr>';
}).join('');
}
paint();
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110464"></script>
<script>window.mbShare('../../assets/share/t/niaobu-js.jpg', '纸尿裤要囤多少:每个码几片、几包、一年花多少'); /* 11-06 微信转发图 */</script>
<script src="../_shared/wizard.js?v=26110464"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
<script src="../../js/last-sub.js?v=26110703"></script> <!-- 11-07 小程序刷新回到这一页(见 js/last-sub.js) -->
<script src="../../js/pv.js?v=26110653"></script> <!-- 11-07 页面访问记录(推送效果看板,见 js/pv.js) -->
</body>
</html>