测试列表:手气测做成摇骰子老虎机模块,去掉卡片在测数,封面标题加大(v26110292)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -320,8 +320,8 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
|
||||
</div>
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="meta.js?v=26110291"></script>
|
||||
<script src="tests.js?v=26110291"></script>
|
||||
<script src="meta.js?v=26110292"></script>
|
||||
<script src="tests.js?v=26110292"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
@@ -144,18 +144,37 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.cst button.on{background:linear-gradient(135deg,#EFEAFF,#E6F0FF);border-color:#D9D0FA;color:#4F45B5;font-weight:900}
|
||||
.csg{margin-top:22px}
|
||||
/* 11-04 测试列表「热闹」:实时在测 + 战报 + 手气测 + 卡片在测 / TOP / 弹入 / 扫光 */
|
||||
.csv{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 10px;margin:10px 12px 0;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#FFF1EA,#FFF7F0 60%,#F6F0FF);box-shadow:0 4px 14px -8px rgba(240,112,79,.35)}
|
||||
.luck{position:relative;display:flex;align-items:center;gap:10px;width:calc(100% - 24px);margin:12px 12px 0;padding:14px 12px 14px 14px;border-radius:20px;text-align:left;color:#fff;
|
||||
background:radial-gradient(circle at 88% 0,rgba(255,255,255,.28) 0 38px,transparent 39px),radial-gradient(circle at 6% 120%,rgba(255,201,77,.45) 0 46px,transparent 47px),linear-gradient(120deg,#7B5CF5,#A17BFF 55%,#FF8FB1);box-shadow:0 10px 22px -10px rgba(123,92,245,.7);overflow:visible}
|
||||
.luck-dc{flex:none;width:46px;height:46px;filter:drop-shadow(0 4px 6px rgba(60,30,140,.35));animation:lkIdle 3.2s ease-in-out infinite;transform-origin:50% 60%}
|
||||
.luck-dc svg{width:100%;height:100%;display:block}
|
||||
.luck-dc.d2{position:absolute;left:44px;top:6px;width:24px;height:24px;animation-delay:.4s}
|
||||
@keyframes lkIdle{0%,72%,100%{transform:rotate(0)}78%{transform:rotate(-14deg) translateY(-3px)}86%{transform:rotate(10deg) translateY(-1px)}93%{transform:rotate(-4deg)}}
|
||||
.luck.roll .luck-dc{animation:lkTumble .35s linear infinite}
|
||||
.luck.roll .luck-dc.d2{animation-duration:.28s}
|
||||
@keyframes lkTumble{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(90deg) translateY(-6px)}50%{transform:rotate(180deg) translateY(0)}75%{transform:rotate(270deg) translateY(-4px)}100%{transform:rotate(360deg)}}
|
||||
.luck.hit .luck-dc{animation:lkLand .5s cubic-bezier(.3,1.6,.5,1)}
|
||||
@keyframes lkLand{from{transform:scale(1.3) rotate(-20deg)}to{transform:none}}
|
||||
.luck-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding-left:4px}
|
||||
.luck-t>b{font-size:16.5px;font-weight:900;letter-spacing:.3px;text-shadow:0 1px 2px rgba(60,30,140,.25)}
|
||||
.luck-w{display:block;height:22px;line-height:22px;padding:0 9px;border-radius:8px;background:rgba(255,255,255,.22);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.luck-w .sp{display:inline-block;animation:lkSp .09s linear}
|
||||
@keyframes lkSp{from{transform:translateY(-70%);opacity:.3}}
|
||||
.luck-w .hit{display:inline-block;color:#FFE27A;font-weight:900;animation:lkLand .45s cubic-bezier(.3,1.6,.5,1)}
|
||||
.luck-b{flex:none;height:34px;padding:0 14px;border-radius:99px;background:#fff;color:#6A4BE0;font-size:14px;font-style:normal;font-weight:900;line-height:34px;box-shadow:0 4px 10px -4px rgba(60,30,140,.5);animation:lkPulse 1.8s ease-in-out infinite}
|
||||
@keyframes lkPulse{50%{transform:scale(1.07)}}
|
||||
.luck.roll .luck-b,.luck.hit .luck-b{animation:none;opacity:.6}
|
||||
.luck:active{transform:scale(.985)}
|
||||
.luck-fx{position:absolute;left:50%;top:50%;pointer-events:none}
|
||||
.luck-fx i{position:absolute;width:7px;height:7px;border-radius:2px;animation:lkBoom .9s ease-out forwards}
|
||||
@keyframes lkBoom{from{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(200deg) scale(.4);opacity:0}}
|
||||
.csv{display:grid;grid-template-columns:1fr;gap:6px;margin:10px 12px 0;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#FFF1EA,#FFF7F0 60%,#F6F0FF);box-shadow:0 4px 14px -8px rgba(240,112,79,.35)}
|
||||
.csv-n{font-size:13px;font-weight:700;color:#6E5A55;display:flex;align-items:center;gap:6px}
|
||||
.csv-n b{font-size:17px;font-weight:900;color:#F0453A;display:inline-block}
|
||||
.csv-n b.bp{animation:csvBp .5s ease}
|
||||
@keyframes csvBp{40%{transform:translateY(-2px) scale(1.08)}}
|
||||
.csv-dot{width:8px;height:8px;border-radius:50%;background:#F0453A;box-shadow:0 0 0 0 rgba(240,69,58,.5);animation:csvDot 1.4s ease-out infinite}
|
||||
@keyframes csvDot{70%{box-shadow:0 0 0 7px rgba(240,69,58,0)}100%{box-shadow:0 0 0 0 rgba(240,69,58,0)}}
|
||||
.csv-go{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px 0 8px;border-radius:99px;background:linear-gradient(135deg,#8D6BFF,#B08CFF);color:#fff;font-size:12.5px;font-weight:800;box-shadow:0 4px 10px -4px #8D6BFF}
|
||||
.csv-go svg{width:18px;height:18px;color:#fff;opacity:.95}
|
||||
.csv-go svg rect{fill:rgba(255,255,255,.28)}
|
||||
.csv-go.roll svg{animation:csvRoll .65s cubic-bezier(.3,1.4,.6,1)}
|
||||
@keyframes csvRoll{to{transform:rotate(720deg) scale(1.15)}}
|
||||
.csv-r{grid-column:1/-1;position:relative;height:24px;overflow:hidden}
|
||||
.csv-i{position:absolute;inset:0;display:flex;align-items:center;gap:6px;width:100%;font-size:12.5px;color:#7A6863;text-align:left;opacity:0;transform:translateY(100%);transition:transform .45s ease,opacity .45s ease}
|
||||
.csv-i.on{opacity:1;transform:none}.csv-i.up{opacity:0;transform:translateY(-100%)}
|
||||
@@ -164,21 +183,15 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.csv-i em{font-style:normal;font-weight:800;color:#3A2A26;margin-right:4px}
|
||||
.csv-i b{font-weight:800;color:#8D6BFF}
|
||||
.csv-i small{flex:none;font-size:11px;color:#B5A39C}
|
||||
.ck .cv .ck-live{position:absolute;left:7px;top:7px;z-index:1;display:inline-flex;align-items:center;gap:3px;height:19px;padding:0 7px 0 6px;border-radius:99px;background:rgba(255,255,255,.82);color:#6E5A55;font-size:10px;font-style:normal;font-weight:700}
|
||||
.ck .cv .ck-live>i{width:6px;height:6px;border-radius:50%;background:#2EC47A;box-shadow:0 0 0 0 rgba(46,196,122,.5);animation:csvDot2 1.6s ease-out infinite}
|
||||
@keyframes csvDot2{70%{box-shadow:0 0 0 5px rgba(46,196,122,0)}100%{box-shadow:0 0 0 0 rgba(46,196,122,0)}}
|
||||
#more .ck .cv .ck-live b{margin:0;padding:0;font-size:11px;line-height:1;color:#2A1E1E;font-weight:900;font-variant-numeric:tabular-nums;-webkit-line-clamp:unset;display:inline}
|
||||
#more .ck .cv .ck-live.bp b{animation:csvBp .5s ease;display:inline-block;color:#F0453A}
|
||||
.ck .cv .ck-top{position:absolute;right:0;top:0;z-index:1;height:20px;padding:0 8px 0 9px;border-radius:0 0 0 12px;color:#fff;font-size:10.5px;font-style:italic;font-weight:900;line-height:20px;letter-spacing:.3px}
|
||||
.ck-top.t1{background:linear-gradient(135deg,#F0453A,#FF8A3D)}.ck-top.t2{background:linear-gradient(135deg,#FF8A2E,#FFC06E)}.ck-top.t3{background:linear-gradient(135deg,#8D6BFF,#B9A3FF)}
|
||||
.ck .cv i.dn{top:30px}
|
||||
.ck .cv em{position:relative;overflow:hidden}
|
||||
.ck .cv em::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:ckShine 3.6s ease-in-out infinite}
|
||||
@keyframes ckShine{0%,62%{left:-60%}88%,100%{left:130%}}
|
||||
.pre{opacity:0}
|
||||
.pre.pop-in{animation:ckPop .5s cubic-bezier(.3,1.35,.5,1) both}
|
||||
@keyframes ckPop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
|
||||
@media (prefers-reduced-motion:reduce){.pre{opacity:1}.pre.pop-in,.ck .cv em::after,.csv-dot,.ck .cv .ck-live>i{animation:none}}
|
||||
@media (prefers-reduced-motion:reduce){.luck-dc,.luck-b{animation:none}.pre{opacity:1}.pre.pop-in,.ck .cv em::after,.csv-dot{animation:none}}
|
||||
.csg-h{display:flex;flex-direction:column;gap:5px;padding:0 2px}
|
||||
.csg-h b{display:flex;align-items:center;gap:6px;padding-left:10px;border-left:3px solid #B9B3D6;font-size:19px;font-weight:900;line-height:1.1;color:#2B2433}
|
||||
.csg-h b i{font-style:normal;font-size:18px}
|
||||
@@ -219,7 +232,8 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.c2 .ck .cv b{font-size:15.5px;padding:0 6px}
|
||||
.ck .cv{height:146px}
|
||||
.c2 .ck .cv{height:160px}
|
||||
#more .ck .cv{padding-top:22px;height:166px}#more .c2 .ck .cv{height:178px}
|
||||
#more .ck .cv{padding-top:14px;height:160px}#more .c2 .ck .cv{height:172px}
|
||||
#more .ck .cv b{font-size:15.5px;line-height:1.32}#more .c2 .ck .cv b{font-size:17px;padding:0 4px}
|
||||
.ck .cnn{margin-top:8px}
|
||||
.ck .cv small{font-size:10.5px;color:#8D8091;white-space:nowrap}
|
||||
.ck .cv em{margin-top:2px;height:22px;padding:0 10px;border-radius:6px;background:var(--cb);color:#fff;font-size:11px;font-style:normal;font-weight:800;line-height:22px;box-shadow:0 3px 8px -3px var(--cb)}
|
||||
@@ -748,10 +762,10 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
<div id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="topics.js?v=26110291"></script>
|
||||
<script src="data.js?v=26110291"></script>
|
||||
<script src="feed.js?v=26110291"></script>
|
||||
<script src="ceshi/meta.js?v=26110291"></script>
|
||||
<script src="topics.js?v=26110292"></script>
|
||||
<script src="data.js?v=26110292"></script>
|
||||
<script src="feed.js?v=26110292"></script>
|
||||
<script src="ceshi/meta.js?v=26110292"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
@@ -817,7 +831,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
var CMD = null, CMERR = false;
|
||||
/* 头像编码:数字 = av/NNNN.webp(旧代码头像);'av:c012' = av/c012.webp(卡通/可爱卡通);'/…' = 站内绝对路径(内置头像库 /_bridge/avatars/);其余 = assets/img/mom/xxx.jpg */
|
||||
var avP = function (a) { return typeof a === 'number' ? 'av/' + ('000' + a).slice(-4) + '.webp' : a.indexOf('av:') === 0 ? 'av/' + a.slice(3) + '.webp' : a.charAt(0) === '/' ? a : '../assets/img/mom/' + a + '.jpg'; };
|
||||
fetch('cm.json?v=26110291').then(function (r) { return r.json(); }).then(function (j) {
|
||||
fetch('cm.json?v=26110292').then(function (r) { return r.json(); }).then(function (j) {
|
||||
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
|
||||
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
|
||||
function commentsOf(n) {
|
||||
@@ -1063,9 +1077,9 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
};
|
||||
function csCardHTML(x, done, i) {
|
||||
var d = done[x.id], who = (x.sub || '').split('·')[0].trim();
|
||||
var top = byHot(TM).slice(0, 3).map(function (y) { return y.id; }).indexOf(x.id), nw = csNowOn(x.id);
|
||||
var top = byHot(TM).slice(0, 3).map(function (y) { return y.id; }).indexOf(x.id);
|
||||
return '<button type="button" class="ck ' + CS_GPAL[x.group] + '" data-test="' + x.id + '"><span class="cv">' + (CS_BLOBS[x.group] || CS_BLOB) +
|
||||
'<i class="ck-live"><i></i><b data-v="' + nw + '">' + nw + '</b> 人在测</i>' + (top >= 0 ? '<i class="ck-top t' + (top + 1) + '">TOP' + (top + 1) + '</i>' : '') +
|
||||
(top >= 0 ? '<i class="ck-top t' + (top + 1) + '">TOP' + (top + 1) + '</i>' : '') +
|
||||
'<b>' + esc(x.title.replace(/^测一测|/, '')) + '</b><small>' + esc(who) + ' · ' + x.n + ' 题</small><em>' + (d ? '再测一次' : '开始测试') + '</em>' + (d ? '<i class="dn">已测</i>' : '') + '</span>' +
|
||||
'<span class="cnn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12.6 2.5c.4 3-1.6 4.6-3 6.2C8 10.4 7 12 7 14.3A5 5 0 0012 19.5a5 5 0 005-5.2c0-2-1-3.6-1.9-4.6-.2 1.3-.9 2.2-1.9 2.6.6-3.4-.2-7-.6-9.8z" fill="currentColor"/></svg>' + gcTestedText(x.id) + '</span></button>';
|
||||
}
|
||||
@@ -1079,13 +1093,39 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
'甜甜圈', '小熊软糖', '一颗青梅', '冬冬妈', '可乐加冰', '麦穗儿', '云朵朵', '橘子汽水', '乐乐的妈', '荔枝', '蜜桃乌龙', '小葡萄'];
|
||||
var CL_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'];
|
||||
var CS_DICE = '<svg viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="5" fill="currentColor"/><g fill="#fff"><circle cx="8" cy="8" r="1.7"/><circle cx="16" cy="8" r="1.7"/><circle cx="12" cy="12" r="1.7"/><circle cx="8" cy="16" r="1.7"/><circle cx="16" cy="16" r="1.7"/></g></svg>';
|
||||
/* 11-04 用户:「手气测挺好玩,要明显、让用户玩起来」→ 独立一块「摇一摇」:骰子闲时晃一晃;点了骰子翻滚、标题像老虎机一样转、越转越慢停在一个没测过的测试上,撒彩点后进入 */
|
||||
var DICE_P = { 1: [[12, 12]], 2: [[8, 8], [16, 16]], 3: [[7, 7], [12, 12], [17, 17]], 4: [[8, 8], [16, 8], [8, 16], [16, 16]], 5: [[7, 7], [17, 7], [12, 12], [7, 17], [17, 17]], 6: [[8, 6.5], [16, 6.5], [8, 12], [16, 12], [8, 17.5], [16, 17.5]] };
|
||||
function diceSVG(n) {
|
||||
return '<svg viewBox="0 0 24 24" aria-hidden="true"><rect x="2" y="2" width="20" height="20" rx="5.5" fill="#fff"/><rect x="2" y="17" width="20" height="5" rx="2.5" fill="#EDE6FF" opacity=".9"/>' +
|
||||
DICE_P[n].map(function (c) { return '<circle cx="' + c[0] + '" cy="' + c[1] + '" r="2" fill="' + (n === 1 ? '#F0453A' : '#6A4BE0') + '"/>'; }).join('') + '</svg>';
|
||||
}
|
||||
function csNowBase() { return Math.round(TM.reduce(function (a, x) { return a + gcTested(x.id); }, 0) / 1150); }
|
||||
function csLiveHTML() {
|
||||
return '<div class="csv"><div class="csv-n"><i class="csv-dot"></i>此刻 <b id="csvN" class="num">' + csNowBase().toLocaleString() + '</b> 人正在测</div>' +
|
||||
'<button type="button" class="csv-go" id="csvGo">' + CS_DICE + '手气测</button>' +
|
||||
var left = TM.length - Object.keys(csDone()).filter(function (k) { return TM.some(function (x) { return x.id === k; }); }).length;
|
||||
return '<button type="button" class="luck" id="csvGo"><span class="luck-dc" id="csdDc">' + diceSVG(5) + '</span><span class="luck-dc d2">' + diceSVG(3) + '</span>' +
|
||||
'<span class="luck-t"><b>不知道测哪个?摇一下</b><span class="luck-w"><span id="csdW">' + (left > 0 ? '还有 ' + left + ' 个没测过,交给手气' : '全部测完啦,再摇一个重温') + '</span></span></span>' +
|
||||
'<em class="luck-b">摇一摇</em><i class="luck-fx" id="csdFx"></i></button>' +
|
||||
'<div class="csv"><div class="csv-n"><i class="csv-dot"></i>此刻 <b id="csvN" class="num">' + csNowBase().toLocaleString() + '</b> 人正在测</div>' +
|
||||
'<div class="csv-r" id="csvR"></div></div>';
|
||||
}
|
||||
var csdBusy = false;
|
||||
function csdRoll(btn) {
|
||||
if (csdBusy) return; csdBusy = true; haptic(); btn.classList.add('roll');
|
||||
var dn = csDone(), pool = TM.filter(function (x) { return !dn[x.id]; }); if (!pool.length) pool = TM;
|
||||
var pk = pool[Math.floor(Math.random() * pool.length)], w = document.getElementById('csdW'), dcs = btn.querySelectorAll('.luck-dc'), i = 0, steps = 16;
|
||||
(function spin() {
|
||||
var last = i >= steps, t = last ? pk : TM[Math.floor(Math.random() * TM.length)];
|
||||
w.innerHTML = '<span class="' + (last ? 'hit' : 'sp') + '">' + esc(last ? t.title.replace(/^测一测|/, '') : (CS_SHORT[t.id] || t.title)) + '</span>';
|
||||
[].forEach.call(dcs, function (d) { d.innerHTML = diceSVG(1 + Math.floor(Math.random() * 6)); });
|
||||
if (!last) { i++; setTimeout(spin, 40 + i * i * 1.1); return; }
|
||||
btn.classList.remove('roll'); btn.classList.add('hit'); haptic(); var bb = btn.querySelector('.luck-b'); if (bb) bb.textContent = '就它了!';
|
||||
var fx = document.getElementById('csdFx'), cols = ['#FF8A65', '#9A7FE0', '#3FAE7A', '#4E8DE6', '#FFC94D', '#F0453A'], h = '';
|
||||
for (var k = 0; k < 18; k++) { var a = k / 18 * 6.283, r = 40 + Math.random() * 40; h += '<i style="--x:' + Math.round(Math.cos(a) * r) + 'px;--y:' + Math.round(Math.sin(a) * r * .6) + 'px;background:' + cols[k % 6] + '"></i>'; }
|
||||
fx.innerHTML = h;
|
||||
setTimeout(function () { location.href = ceshiURL(pk.id, true); }, 1100);
|
||||
})();
|
||||
}
|
||||
window.addEventListener('pageshow', function () { csdBusy = false; var b = document.getElementById('csvGo'); if (b) { b.classList.remove('roll', 'hit'); var bb = b.querySelector('.luck-b'); if (bb) bb.textContent = '摇一摇'; } });
|
||||
var csvT = 0, csvI = 0, csvRec = [];
|
||||
function csvOne() {
|
||||
var R = window.GC_RES || {}, ids = TM.filter(function (x) { return R[x.id] && R[x.id].length; });
|
||||
@@ -1112,17 +1152,8 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
}
|
||||
n = Math.max(Math.round(base * .93), Math.min(Math.round(base * 1.07), n + Math.round((Math.random() - .45) * 14)));
|
||||
var e = document.getElementById('csvN'); if (e) { e.textContent = n.toLocaleString(); e.classList.remove('bp'); void e.offsetWidth; e.classList.add('bp'); }
|
||||
if (tick % 3 === 0) { /* 随机两张卡的「在测」数小跳 */
|
||||
var cs = document.querySelectorAll('#more .ck-live b');
|
||||
for (var q = 0; q < 2 && cs.length; q++) {
|
||||
var x = cs[Math.floor(Math.random() * cs.length)], v = +x.dataset.v || 10;
|
||||
v = Math.max(3, v + (Math.random() < .6 ? 1 : -1) * (1 + Math.floor(Math.random() * 3))); x.dataset.v = v; x.textContent = v;
|
||||
x.parentNode.classList.remove('bp'); void x.parentNode.offsetWidth; x.parentNode.classList.add('bp');
|
||||
}
|
||||
}
|
||||
}, 1300);
|
||||
}
|
||||
function csNowOn(id) { var h = 0; for (var i = 0; i < id.length; i++) h = (h * 31 + id.charCodeAt(i)) >>> 0; return 6 + h % 9 + Math.round(gcTested(id) / 2600); }
|
||||
function csFx() { /* 卡片进屏错落弹入 */
|
||||
var els = document.querySelectorAll('#more .ck, #more .csr');
|
||||
if (!('IntersectionObserver' in window)) return;
|
||||
@@ -1374,13 +1405,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
$('#head').addEventListener('click', function (e) {
|
||||
if (e.target.closest('#qfBanner')) { goQifu(); return; }
|
||||
var cb = e.target.closest('.cbn[data-test], .csv-i[data-test]'); if (cb) { haptic(); location.href = ceshiURL(cb.dataset.test, true); return; }
|
||||
var dc = e.target.closest('#csvGo');
|
||||
if (dc) { /* 手气测:优先没测过的 */
|
||||
haptic(); dc.classList.add('roll');
|
||||
var dn = csDone(), pool = TM.filter(function (x) { return !dn[x.id]; }); if (!pool.length) pool = TM;
|
||||
var pk = pool[Math.floor(Math.random() * pool.length)];
|
||||
setTimeout(function () { location.href = ceshiURL(pk.id, true); }, 650); return;
|
||||
}
|
||||
var dc = e.target.closest('#csvGo'); if (dc) { csdRoll(dc); return; }
|
||||
var j = e.target.closest('[data-join]'); if (j) { haptic(); openRule(j.dataset.join); return; }
|
||||
if (e.target.closest('[data-rule]')) { openRule(''); return; }
|
||||
if (e.target.closest('[data-all]')) { openTopics(); return; }
|
||||
|
||||
@@ -105,7 +105,7 @@ main{padding:6px 16px 0}
|
||||
</div>
|
||||
<div class="wb"><button type="button" id="write"><svg class="ic" viewBox="0 0 24 24"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 013 3L7 19l-4 1 1-4z"/></svg>写新的故事</button></div>
|
||||
|
||||
<script src="../topics.js?v=26110291"></script>
|
||||
<script src="../topics.js?v=26110292"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
Reference in New Issue
Block a user