打开/关闭搜索
搜索
打开/关闭菜单
5
6
1
403
夜幕之下
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁MediaWiki:Common.js”︁的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Common.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
管理员
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */ /* 引入卡片数据渲染模块 */ mw.loader.load( '/index.php?title=MediaWiki:CardData.js&action=raw&ctype=text/javascript' ); /* 卡面滚动 */ window.addEventListener("scroll", function() { var bg = document.querySelector(".card_fullscreen-img"); if (!bg) return; if (window.scrollY > 10) { bg.classList.add("scrolled"); } else { bg.classList.remove("scrolled"); } }); /* 小传折叠 + 标题 sticky */ mw.hook("wikipage.content").add(function(){ document.querySelectorAll(".card_content_story").forEach(function(story){ var toggle = story.querySelector(".card_content_story-toggle"); var timeline = story.querySelector(".card_content_story-timeline"); var headerLeft = story.querySelector(".card_content_story-header-left"); if (!toggle || !timeline || !headerLeft) return; var icon = toggle.querySelector(".story-toggle-icon"); var text = toggle.querySelector(".story-toggle-text"); toggle.addEventListener("click", function(){ var collapsed = toggle.getAttribute("data-collapsed") === "true"; if (collapsed) { timeline.style.opacity = "1"; timeline.style.transform = "translateY(0)"; timeline.style.maxHeight = "5000px"; } else { timeline.style.opacity = "0"; timeline.style.transform = "translateY(-6px)"; timeline.style.maxHeight = "0"; } toggle.setAttribute("data-collapsed", collapsed ? "false" : "true"); icon.innerText = collapsed ? "-" : "+"; text.innerText = collapsed ? "收起" : "展开"; if (!collapsed) headerLeft.classList.remove("is-sticky"); }); function updateSticky() { if (toggle.getAttribute("data-collapsed") === "true") { headerLeft.classList.remove("is-sticky"); return; } var storyRect = story.getBoundingClientRect(); var timelineRect = timeline.getBoundingClientRect(); if (storyRect.top < 0 && timelineRect.bottom > window.innerHeight) { headerLeft.classList.add("is-sticky"); } else { headerLeft.classList.remove("is-sticky"); } } window.addEventListener("scroll", updateSticky, { passive: true }); updateSticky(); }); }); /* 邀约故事区 */ mw.hook("wikipage.content").add(function(){ var cards = document.querySelectorAll(".card_content_date-item"); var panel = document.getElementById("date-story-panel"); var contents = document.querySelectorAll(".card_date_story-content"); if (!cards.length || !panel) return; var currentIndex = -1; cards.forEach(function(card){ card.addEventListener("click", function(){ var index = parseInt(card.getAttribute("data-date-index"), 10); if (currentIndex === index) { panel.classList.remove("is-visible"); card.classList.remove("is-active"); currentIndex = -1; return; } cards.forEach(function(c){ c.classList.remove("is-active"); }); card.classList.add("is-active"); currentIndex = index; panel.classList.remove("is-visible"); void panel.offsetWidth; panel.classList.add("is-visible"); contents.forEach(function(content){ var storyIndex = parseInt(content.getAttribute("data-story-index"), 10); content.classList.toggle("is-active", storyIndex === index); }); }); }); }); /* 道具页:列表切换 + 搜索过滤 */ mw.hook("wikipage.content").add(function(){ var tabs = document.querySelectorAll(".item-tab"); var details = document.querySelectorAll(".item-detail"); var search = document.getElementById("item-search"); if (!tabs.length) return; function activate(id) { details.forEach(function(el){ el.style.display = "none"; }); tabs.forEach(function(t){ t.setAttribute("data-active", "false"); }); var detail = document.getElementById("item-" + id); if (detail) detail.style.display = "block"; var tab = document.querySelector(".item-tab[data-item='" + id + "']"); if (tab) tab.setAttribute("data-active", "true"); } tabs.forEach(function(tab){ tab.addEventListener("click", function(){ activate(tab.getAttribute("data-item")); }); }); if (search) { search.addEventListener("input", function(){ var q = search.value.trim().toLowerCase(); tabs.forEach(function(tab){ var text = (tab.getAttribute("data-name") || tab.textContent || "").toLowerCase(); tab.style.display = text.indexOf(q) !== -1 ? "" : "none"; }); }); } });
返回
MediaWiki:Common.js
。
查看“︁MediaWiki:Common.js”︁的源代码
MediaWiki界面页面