MediaWiki:Common.js:修订间差异
外观
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
$(function() { | $(function() { | ||
var PAD = 6; | var PAD = 6; | ||
var container = document.getElementById('neko-page-counter'); | var container = document.getElementById('neko-page-counter'); | ||
if (!container) | if (!container) return; | ||
// | // 获取页面总数 | ||
var total = mw.config.get('wgNumberOfPages'); | var total = mw.config.get('wgNumberOfPages') || 0; | ||
if (!total) total = 123456; // 测试用,确认正常后删除这行 | |||
if (!total | |||
var digits = String(total).padStart(PAD, '0').split(''); | var digits = String(total).padStart(PAD, '0').split(''); | ||
container.innerHTML = ''; | container.innerHTML = ''; | ||
| 第29行: | 第17行: | ||
var imgW = Math.max(28, Math.min(100, Math.floor((parentW - 20) / PAD))); | var imgW = Math.max(28, Math.min(100, Math.floor((parentW - 20) / PAD))); | ||
var imgH = Math.round(imgW * 1.25); | var imgH = Math.round(imgW * 1.25); | ||
digits.forEach(function(d | digits.forEach(function(d) { | ||
var img = document.createElement('img'); | var img = document.createElement('img'); | ||
// 用 mw.util.getUrl 获取 File 页面的真实图片 URL | |||
img.src = mw.util.getUrl('File:' + d + '.gif'); | |||
img.alt = d; | img.alt = d; | ||
img.style.cssText = 'width:' + imgW + 'px;height:' + imgH + 'px;object-fit:contain;image-rendering:pixelated;display:block;'; | img.style.cssText = 'width:' + imgW + 'px;height:' + imgH + 'px;object-fit:contain;image-rendering:pixelated;display:block;'; | ||
img.onerror = function() { | img.onerror = function() { | ||
var fb = document.createElement('div'); | var fb = document.createElement('div'); | ||
fb.textContent = d; | fb.textContent = d; | ||
2026年7月13日 (一) 22:09的版本
$(function() {
var PAD = 6;
var container = document.getElementById('neko-page-counter');
if (!container) return;
// 获取页面总数
var total = mw.config.get('wgNumberOfPages') || 0;
if (!total) total = 123456; // 测试用,确认正常后删除这行
var digits = String(total).padStart(PAD, '0').split('');
container.innerHTML = '';
container.style.cssText = 'display:flex;align-items:flex-end;justify-content:center;gap:0;padding:10px;background:#0f0f1a;border-radius:8px;border:1px solid #2a2a40;min-height:100px;';
var parentW = container.parentElement ? container.parentElement.clientWidth : 600;
var imgW = Math.max(28, Math.min(100, Math.floor((parentW - 20) / PAD)));
var imgH = Math.round(imgW * 1.25);
digits.forEach(function(d) {
var img = document.createElement('img');
// 用 mw.util.getUrl 获取 File 页面的真实图片 URL
img.src = mw.util.getUrl('File:' + d + '.gif');
img.alt = d;
img.style.cssText = 'width:' + imgW + 'px;height:' + imgH + 'px;object-fit:contain;image-rendering:pixelated;display:block;';
img.onerror = function() {
var fb = document.createElement('div');
fb.textContent = d;
fb.style.cssText = 'width:' + imgW + 'px;height:' + imgH + 'px;display:flex;align-items:center;justify-content:center;background:#333;color:#ff9ecd;font-size:' + Math.max(12, Math.floor(imgW * 0.4)) + 'px;font-weight:bold;font-family:monospace;border-radius:3px;';
if (img.parentNode) img.parentNode.replaceChild(fb, img);
};
container.appendChild(img);
});
});