打开/关闭搜索
搜索
打开/关闭菜单
14
6636
42
1.1万
OGAS数据中枢
导航
首页
最近更改
随机页面
特殊页面
上传文件
少女前线
简介
战术人形
装备图鉴
BGM
任务
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
注册
登录
查看“︁Widget:GF立绘切换”︁的源代码
来自OGAS数据中枢
更多操作
←
Widget:GF立绘切换
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
管理员
您没有权限编辑
Widget
命名空间内的页面。
您可以查看和复制此页面的源代码。
<includeonly><script> (function() { function initSwitcher() { document.querySelectorAll('.gf-infobox-new').forEach(function(box) { if (box.dataset.switcherReady) return; box.dataset.switcherReady = 'true'; var container = box.querySelector('.gf-image-container'); var thumbItems = box.querySelectorAll('.gf-thumb-item'); if (!container || thumbItems.length < 2) return; // 直接从缩略图中提取完整的大图URL function extractFullImageUrl(thumbItem) { var img = thumbItem.querySelector('img'); if (!img) return null; var src = img.src; // MediaWiki缩略图URL格式: // /images/thumb/a/ab/Filename.jpg/60px-Filename.jpg // 需要转换为: // /images/a/ab/Filename.jpg // 方法1: 移除 /thumb/ 和 /尺寸px-文件名 部分 var url = src.replace('/thumb/', '/'); // 移除最后的 /数字px-文件名 部分 url = url.replace(/\/\d+px-[^\/]+$/, ''); // 重新添加文件名 var filename = src.split('/').pop().replace(/^\d+px-/, ''); url = url + '/' + filename; return url; } thumbItems.forEach(function(item) { item.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); if (this.classList.contains('active')) return; var newImgUrl = extractFullImageUrl(this); if (!newImgUrl) { console.warn('Cannot extract image URL'); return; } // 保存容器当前内容 var currentHTML = container.innerHTML; // 尝试加载新图片 var testImg = new Image(); testImg.onload = function() { // 创建新图片并设置样式 var newImgHTML = '<img src="' + newImgUrl + '" style="max-width:100%;max-height:420px;object-fit:contain;opacity:1;transition:opacity 0.3s ease;">'; // 淡出效果 var oldImg = container.querySelector('img'); if (oldImg) { oldImg.style.opacity = '0'; oldImg.style.transition = 'opacity 0.15s ease'; } // 延迟替换 setTimeout(function() { container.innerHTML = newImgHTML; var newImg = container.querySelector('img'); if (newImg) { newImg.style.opacity = '0'; requestAnimationFrame(function() { newImg.style.opacity = '1'; }); } }, 150); // 更新激活状态 thumbItems.forEach(function(t) { t.classList.remove('active'); }); item.classList.add('active'); }; testImg.onerror = function() { console.error('Cannot load: ' + newImgUrl); // 尝试备用URL var altUrl = newImgUrl.replace(/\/images\//, '/images/thumb/') + '/280px-' + newImgUrl.split('/').pop(); testImg.src = altUrl; }; testImg.src = newImgUrl; }); }); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSwitcher); } else { initSwitcher(); } if (window.mw && mw.hook) { mw.hook('wikipage.content').add(initSwitcher); } })(); </script></includeonly>
返回
Widget:GF立绘切换
。
查看“︁Widget:GF立绘切换”︁的源代码
来自OGAS数据中枢