百宝箱轮播:生娃花多少钱那条约70%轮次都在滚(v26110427)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-04 10:18:23 +00:00
parent 0283d9cf43
commit 9cce1503bb
25 changed files with 95 additions and 91 deletions

View File

@@ -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 = '26110426';
var V = '26110427';
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');
@@ -200,9 +200,13 @@
var rs = [].slice.call(box.querySelectorAll('.kit-rows .kr')).filter(function (r) { return r.querySelector('.kr-lv'); });
if (!rs.length) return;
var n = Math.min(rs.length, Math.random() < .5 ? 1 : 2), nx, t = 0; /* 11-04 用户:同时滚动 2~3 条 → 1~2 条,不超过 2 */
do { /* 随机挑 n 条;和上一轮完全一样就重挑,保证每次都有变化 */
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);
/* 11-04 用户:「生娃到底要花多少钱」那条(.hot)尽量多轮播,约 70% 的轮次都有它;其余名额从另外几条里随机挑 */
var hi = -1; rs.forEach(function (r, i) { if (r.classList.contains('hot')) hi = i; });
var withHot = hi >= 0 && Math.random() < .7;
do { /* 和上一轮完全一样就重挑(只有「生娃」一条时允许连着出,它自己的内容每 3 秒在换) */
var rest = rs.map(function (r, i) { return i; }).filter(function (i) { return i !== hi; }).sort(function () { return Math.random() - .5; });
nx = (withHot ? [hi].concat(rest.slice(0, n - 1)) : rest.slice(0, n)).sort();
} while (nx.join() === LV_ON.join() && !(withHot && n === 1) && ++t < 9);
LV_ON = nx;
rs.forEach(function (r, i) {
var go = LV_ON.indexOf(i) >= 0;