v26110289 新增预产期计算器替换孕期增重;百宝箱滚动头像现挑、同时不重复且近16次不重复
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||
var VER = '26110288';
|
||||
var VER = '26110289';
|
||||
const $ = (s, c) => (c || document).querySelector(s);
|
||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||
|
||||
|
||||
@@ -231,5 +231,5 @@
|
||||
}
|
||||
/* feed.js 首页默认不加载(index.html 只引了 topics.js),这里按需拉一次 */
|
||||
if (window.GC_FEED) init();
|
||||
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110288'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
|
||||
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110289'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
|
||||
})();
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
(function () {
|
||||
var sec = document.getElementById('gcHome');
|
||||
if (!sec) return;
|
||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110288';
|
||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110289';
|
||||
document.head.appendChild(l);
|
||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110288';
|
||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110289';
|
||||
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
|
||||
document.body.appendChild(s);
|
||||
|
||||
|
||||
41
js/kit.js
41
js/kit.js
@@ -9,7 +9,7 @@
|
||||
if (/[?&]kit=0(?:&|$)/.test(location.search)) return;
|
||||
var box = document.getElementById('kit'), sec = document.getElementById('kitHome');
|
||||
if (!box || !sec) return;
|
||||
var V = '26110288';
|
||||
var V = '26110289';
|
||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/kit.css?v=' + V; document.head.appendChild(l);
|
||||
document.documentElement.classList.add('has-kit');
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
/* 计算器(同 topic/jisuan 列表;heat 也同那页) */
|
||||
var CALC = [
|
||||
{ q: '生娃到底要花多少钱?一键算清', h: 'topic/huafei/', heat: .118 },
|
||||
{ q: '孕期该长多少斤?按身高体重算', h: '/yunqi-tizhong/', heat: .083 },
|
||||
{ q: '预产期是哪天?还有几天见面', h: 'topic/yuchanqi-js/', heat: .083 }, /* 11-04 用户:孕期增重是记录工具不是计算器 → 换成新做的预产期计算器 */
|
||||
{ q: '胎儿现在多重?填 B 超数估一估', h: '/taier-guzhong/', heat: .071, gate: 15 },
|
||||
{ q: '产假能休多少天?哪天回去上班', h: 'topic/zhichang/', heat: .062, cm: 1 } /* cm:带 calc=1,进去第一屏就是计算器(11-03) */
|
||||
];
|
||||
@@ -127,16 +127,34 @@
|
||||
11-04 用户:「轮播别单独放底下,放到标题下面,替换『多少人测过』那行;谁谁谁测了、结果是什么;6 条里随机挑 2 条,其余照常显示」
|
||||
→ 只从测试 / 计算器里挑(有结果可说),每次打开随机;测试结果取 meta.js GC_RES(tests.js 真实结果名),计算器结果是常见输入能算出的数。
|
||||
昵称、头像均模拟(同「N 人测过」口径,AGENTS.md 12b,12-31 复核)。 */
|
||||
/* 11-04 用户:「头像一定不要重复,同一个人不能同时在两条上滚,短时间内也别重复」→ 人不再写死在每一句上:
|
||||
每句轮到显示时现挑一个人(lvWho):避开此刻正显示的人、也避开最近 16 次出现过的人;40 个人设(昵称 + 头像一一对应,头像互不重复)。 */
|
||||
var LV_NM = ['小满妈妈', '糯米团子', '橙子不酸', '鹿鹿呀', '安安的妈', '豆包本包', '一只小葵', '阿圆', '栗子酱', '桃桃乌龙', '芝麻汤圆', '晴天娃娃',
|
||||
'果冻布丁', '岁岁平安', '叮当妈', '饭团子', '奶糖不甜', '小鱼干', '朵朵妈咪', '暖暖', '布丁要长大', '花卷儿', '柚子茶', '星星的妈'];
|
||||
var LV_AV = ['p02', 'm05', 'p05', 'm12', 'k04', 'p09', 'm16', 'p11', 'm07', 'k10', 'p03', 'm19', 'p13', 'm02', 'k06', 'p06', 'm10', 'p12', 'm21', 'p07', 'm04', 'k12', 'p14', 'm15'];
|
||||
'果冻布丁', '岁岁平安', '叮当妈', '饭团子', '奶糖不甜', '小鱼干', '朵朵妈咪', '暖暖', '布丁要长大', '花卷儿', '柚子茶', '星星的妈',
|
||||
'甜甜圈', '小熊软糖', '一颗青梅', '冬冬妈', '可乐加冰', '麦穗儿', '云朵朵', '橘子汽水', '乐乐的妈', '荔枝', '蜜桃乌龙', '小葡萄',
|
||||
'团团圆圆', '小雨点', '西瓜太甜', '慢慢来'];
|
||||
var LV_AV = ['p02', 'm05', 'p05', 'm12', 'k04', 'p09', 'm16', 'p11', 'm07', 'k10', 'p03', 'm19', 'p13', 'm02', 'k06', 'p06', 'm10', 'p12', 'm21', 'p07', 'm04', 'k12', 'p14', 'm15',
|
||||
'p01', 'm01', 'k01', 'm03', 'p04', 'm06', 'k02', 'm08', 'p08', 'm09', 'k03', 'm11', 'p10', 'm13', 'k05', 'm14'];
|
||||
var LV_RECENT = [];
|
||||
function lvWho(el) {
|
||||
var on = {};
|
||||
box.querySelectorAll('.kr.live .lv-i.on').forEach(function (x) { if (x !== el && x.dataset.w) on[x.dataset.w] = 1; });
|
||||
var c = [], k;
|
||||
for (k = 0; k < LV_NM.length; k++) if (!on[k] && LV_RECENT.indexOf(k) < 0) c.push(k);
|
||||
if (!c.length) for (k = 0; k < LV_NM.length; k++) if (!on[k]) c.push(k);
|
||||
var j = c[Math.floor(Math.random() * c.length)];
|
||||
LV_RECENT.push(j); if (LV_RECENT.length > 16) LV_RECENT.shift();
|
||||
el.dataset.w = j;
|
||||
el.querySelector('img').src = 'assets/img/mom/' + LV_AV[j] + '.jpg';
|
||||
el.querySelector('em').textContent = LV_NM[j];
|
||||
}
|
||||
var LV_JS = {
|
||||
'topic/huafei/': ['算出养到 18 岁约 <b>62.8 万</b>', '算出头一年约 <b>9.6 万</b>', '算出养到 3 岁约 <b>21.4 万</b>', '算出养到 18 岁约 <b>48.5 万</b>'],
|
||||
'/yunqi-tizhong/': ['算出孕期该长 <b>16~28 斤</b>', '算出孕期该长 <b>22~32 斤</b>', '算出孕期该长 <b>14~22 斤</b>'],
|
||||
'topic/yuchanqi-js/': ['算出还有 <b>96 天</b>见面', '算出现在孕 <b>23 周 + 4 天</b>', '算出预产期在 <b>3 月 12 日</b>', '算出 NT 该在 <b>下周</b>做'],
|
||||
'/taier-guzhong/': ['估出宝宝约 <b>1.6 斤</b>', '估出宝宝约 <b>2.3 斤</b>', '估出宝宝约 <b>3.1 斤</b>'],
|
||||
'topic/zhichang/': ['算出产假能休 <b>178 天</b>(广东)', '算出产假能休 <b>158 天</b>(上海)', '算出产假能休 <b>188 天</b>(河南)', '算出产假能休 <b>180 天</b>(吉林)']
|
||||
};
|
||||
var lvT = 0, lvN = Math.floor(Math.random() * LV_NM.length);
|
||||
var lvT = 0;
|
||||
function lvList(x) {
|
||||
if (x.c === 'qz') {
|
||||
var id = (x.href.match(/[?&]id=(t\d+)/) || [])[1], r = (window.GC_RES || {})[id];
|
||||
@@ -148,8 +166,7 @@
|
||||
}
|
||||
function lvHTML(l) {
|
||||
return '<span class="kr-lv">' + l.map(function (t, i) {
|
||||
var j = (lvN++) % LV_NM.length;
|
||||
return '<span class="lv-i' + (i ? '' : ' on') + '"><img src="assets/img/mom/' + LV_AV[j] + '.jpg" alt="" loading="lazy" width="16" height="16"><em>' + LV_NM[j] + '</em>' + t + '</span>';
|
||||
return '<span class="lv-i' + (i ? '' : ' on') + '"><img alt="" width="16" height="16"><em></em>' + t + '</span>';
|
||||
}).join('') + '</span>';
|
||||
}
|
||||
var lvS = 0, LV_ON = [];
|
||||
@@ -161,7 +178,11 @@
|
||||
nx = rs.map(function (r, i) { return i; }).sort(function () { return Math.random() - .5; }).slice(0, n).sort();
|
||||
} while (nx.join() === LV_ON.join() && ++t < 9);
|
||||
LV_ON = nx;
|
||||
rs.forEach(function (r, i) { r.classList.toggle('live', LV_ON.indexOf(i) >= 0); });
|
||||
rs.forEach(function (r, i) {
|
||||
var go = LV_ON.indexOf(i) >= 0;
|
||||
if (go && !r.classList.contains('live')) { r.classList.add('live'); var e = r.querySelector('.lv-i.on'); if (e) lvWho(e); }
|
||||
else if (!go) r.classList.remove('live');
|
||||
});
|
||||
clearTimeout(lvS);
|
||||
lvS = setTimeout(lvShuffle, 5000 + Math.random() * 2000);
|
||||
}
|
||||
@@ -173,7 +194,7 @@
|
||||
var a = w.querySelector('.lv-i.on'), b = (a && a.nextElementSibling) || w.firstElementChild;
|
||||
if (!a || a === b || !w.closest('.kr.live')) return;
|
||||
a.classList.remove('on'); a.classList.add('up'); setTimeout(function () { a.classList.remove('up'); }, 450);
|
||||
b.classList.add('on');
|
||||
lvWho(b); b.classList.add('on');
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user