MediaWiki:Minerva.js:修订间差异
MediaWiki界面页面
更多操作
创建页面,内容为“→这里的任何JavaScript将为使用MinervaNeue皮肤的用户加载: console.log("mobile"); →这里的任何JavaScript将为使用移动版网站的用户加载: $(function () { →战舰少女R导航: (function ($, de) { →导航栏悬浮、点击展开: $(".banner1").hover(function () { $(this).find(".banner2").eq(0).show(); }, function () { $(this).find(".banne…” |
无编辑摘要 |
||
| 第58行: | 第58行: | ||
}); | }); | ||
}(jQuery, document.documentElement)); | }(jQuery, document.documentElement)); | ||
/* 敌舰面板 */ | |||
// DOM元素缓存 | |||
const mainButtons = document.querySelectorAll('.stage-main-btn'); | |||
const overlay = document.querySelector('.stage-overlay'); | |||
const panel = document.querySelector('.stage-panel'); | |||
const contentContainer = document.querySelector('.stage-content-container'); | |||
const closeBtn = document.querySelector('.stage-close-btn'); | |||
// 显示面板函数 | |||
function showPanel(contentId) { | |||
// 获取对应内容 | |||
const content = document.getElementById(contentId); | |||
const content2 = content.nextElementSibling; | |||
const content3 = content2.nextElementSibling; | |||
content.style.display = 'grid'; // 解除源内容的隐藏 | |||
// 清空旧内容并插入新内容 | |||
contentContainer.innerHTML = '<span style="font-size:1.5em; font-weight:bold;">' + contentId.slice(0, 3) + '</span>'; | |||
contentContainer.appendChild(content.cloneNode(true)); | |||
if (content.firstElementChild.getAttribute("rowspan") > 1) { | |||
contentContainer.appendChild(content2.cloneNode(true)); | |||
} | |||
if (content.firstElementChild.getAttribute("rowspan") > 2) { | |||
contentContainer.appendChild(content3.cloneNode(true)); | |||
} | |||
if (content.firstElementChild.nextElementSibling.getAttribute("colspan") == 12) { | |||
contentContainer.innerHTML = '<center><span style="font-size:1.5em; font-weight:bold;">' + contentId.slice(0, 3) + '<br/><br/>' + content.firstElementChild.innerHTML + '</span><br/><br/>' + content.firstElementChild.nextElementSibling.innerHTML; + '<center>' | |||
} | |||
// 显示界面元素 | |||
overlay.style.display = 'block'; | |||
panel.style.bottom = '0'; | |||
} | |||
// 关闭面板函数 | |||
function closePanel() { | |||
overlay.style.display = 'none'; | |||
panel.style.bottom = '-300px'; | |||
contentContainer.innerHTML = ''; // 清空内容容器 | |||
} | |||
// 事件监听 | |||
mainButtons.forEach(btn => { | |||
btn.addEventListener('click', () => showPanel(btn.dataset.content)); | |||
}); | |||
overlay.addEventListener('click', closePanel); | |||
closeBtn.addEventListener('click', closePanel); | |||
}) | }) | ||