v26110449 大家都在关注第 2 条头像 4→6;孕周福利卡头像每张随机 4~7 个、三张不重复

This commit is contained in:
deploy
2026-11-05 07:25:54 +00:00
parent e1fface604
commit 39d936f455
26 changed files with 125 additions and 95 deletions

View File

@@ -20,3 +20,33 @@
if (q || ++n > 40) clearInterval(t);
}, 300);
})();
/* 11-05 用户:「孕期福利每一个文章调用的头像 4-7 个,可以随机显示」
→ 三张福利卡各随机 4~7 个头像,每次打开重抽,三张之间不重复。
池子 = 分配表 gift 的 9 个 + 11-05 新加的非人像头像 12 个(女生常用 g / 宠物 p),共 21 个,够三张都抽满 7 个。
mama-box.css 里 .gift2 .sb-faces i:nth-child(n+4){display:none} 只留 3 个 → 这里用行内 display 盖掉;
「N 万妈妈已领取」被挤出省略号就先把头像叠紧(5→9px),再不够才从尾巴减头像,最少留 2 个(人数是信息,头像是装饰)。 */
(function () {
var box = document.querySelectorAll('.gift2 .sb-faces');
if (!box.length) return;
var pool = ((window.MB_AVA && MB_AVA.S.gift) || []).concat(
['g010', 'g025', 'g040', 'g055', 'g070', 'g085', 'p012', 'p030', 'p048', 'p066', 'p084', 'p100'].map(function (n) { return 'av:' + n; }));
for (var i = pool.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)), t = pool[i]; pool[i] = pool[j]; pool[j] = t; }
var at = 0;
[].forEach.call(box, function (f) {
var c = 4 + Math.floor(Math.random() * 4), h = '';
for (var k = 0; k < c; k++) {
var a = pool[at++ % pool.length];
h += '<i style="display:block;background-image:url(guangchang/av/' + a.replace(/^av:/, '') + '.webp)"></i>';
}
f.innerHTML = h;
});
function fit() {
[].forEach.call(box, function (f) {
var got = f.parentNode.querySelector('.sb-got'), ims = f.children, k = ims.length;
function tight() { return got && got.scrollWidth > got.clientWidth + 1; }
for (var m = 5; m <= 9 && tight(); m++) [].forEach.call(ims, function (im, x) { if (x) im.style.marginLeft = -m + 'px'; }); /* 先叠紧一点(最多压 9px),还放不下再减个数 */
while (k > 2 && tight()) ims[--k].style.display = 'none';
});
}
fit(); setTimeout(fit, 800);
})();

View File

@@ -244,5 +244,5 @@
}
/* feed.js 首页默认不加载(index.html 只引了 topics.js),这里按需拉一次 */
if (window.GC_FEED) init();
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110448'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110449'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
})();

View File

@@ -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=26110448';
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110449';
document.head.appendChild(l);
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110448';
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110449';
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
document.body.appendChild(s);
@@ -133,7 +133,7 @@
function lkSrc(n) { return /:|^\//.test(n) && window.MB_AVA ? MB_AVA.src(n, '') : 'assets/img/mom/' + n + '.jpg'; }
function avaEl(n) { return '<img src="' + lkSrc(n) + '" alt="" loading="lazy" decoding="async" width="40" height="40">'; }
/* 11-03 用户:「头像错落一下,不一定都是 3 个,3、4、5、6 个都有」→ 每行个数打乱(固定表,刷新不跳),头像按顺序不重复取 */
var AV_N = [5, 4, 6]; /* 11-04 三改:作者 + 孕周 + 点赞头像要挤一行,6~8 个放不下 → 4~6 个 */ /* 11-04 二改:只前 3 条带头像,每条 6~8 个、头像缩小 */
var AV_N = [5, 6, 6]; /* 11-05 用户:「大家都在关注」第二篇头像 4 → 6 */ /* 11-04 三改:作者 + 孕周 + 点赞头像要挤一行,6~8 个放不下 → 4~6 个 */ /* 11-04 二改:只前 3 条带头像,每条 6~8 个、头像缩小 */
function avs(i) {
var h = '', c = AV_N[i] || 3;
if (!i) avaAt = 0;