User:弃权者/Common.js.bak:修订间差异
来自OGAS数据中枢
更多操作
无编辑摘要 |
|||
| 第55行: | 第55行: | ||
}); | }); | ||
}); | |||
/* 首页导航互斥逻辑:点击一个展开项时,收起其他项 */ | |||
$(document).on('click', '.nav-text-btn', function() { | |||
var $clickedBtn = $(this); | |||
// 获取当前点击的按钮对应的 ID 后缀 (例如 game1, game2) | |||
var currentId = $clickedBtn.attr('class').match(/mw-customtoggle-(\w+)/)[1]; | |||
// 找到所有其他的内容块 | |||
$('.nav-content').each(function() { | |||
var thisId = $(this).attr('id').replace('mw-customcollapsible-', ''); | |||
// 如果不是当前点击的内容块,且当前是展开状态,则触发点击让其收回 | |||
if (thisId !== currentId && !$(this).hasClass('mw-collapsed')) { | |||
// 找到对应的开关并模拟点击 | |||
$('.mw-customtoggle-' + thisId).click(); | |||
} | |||
}); | |||
}); | }); | ||
2026年4月2日 (四) 01:24的版本
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
// 使用 mw.hook 监听内容变化,兼容 Citizen 的无刷新加载
mw.hook('wikipage.content').add(function($content) {
//强制唤醒折叠元素 (解决导航栏卡住、全展开问题)
mw.loader.using('jquery.makeCollapsible').then(function () {
// 让页面里所有的 .mw-collapsible 重新活过来
$content.find('.mw-collapsible').makeCollapsible();
});
// 2. 萌百风格 Tabs 自动转换脚本
// ==========================================
// 注意这里把原来的 $('.Tabs') 改成了 $content.find('.Tabs')
$content.find('.Tabs').each(function() {
var $tabsContainer = $(this);
// 1. 检查是否已经初始化过
if ($tabsContainer.hasClass('tabs-initialized')) return;
// 2. 提取所有的标签和内容
var $tabItems = $tabsContainer.find('> .Tab');
if ($tabItems.length === 0) return;
// 3. 创建标准的标签栏和内容容器
var $labelWrapper = $('<div class="TabLabel"></div>');
var $contentWrapper = $('<div class="TabContent"></div>');
$tabItems.each(function(index) {
var $item = $(this);
var $label = $item.find('> .TabLabelText');
var $content = $item.find('> .TabContentText');
// 给第一个设为选中
if (index === 0) {
$label.addClass('selected');
$content.addClass('selected');
}
// 绑定点击事件
$label.on('click', function() {
$labelWrapper.find('.TabLabelText').removeClass('selected');
$contentWrapper.find('.TabContentText').removeClass('selected');
$(this).addClass('selected');
$content.addClass('selected');
});
$labelWrapper.append($label);
$contentWrapper.append($content);
});
// 清空原有的“散装”内容,插入标准结构
$tabsContainer.empty().append($labelWrapper).append($contentWrapper).addClass('tabs-initialized');
});
});
/* 首页导航互斥逻辑:点击一个展开项时,收起其他项 */
$(document).on('click', '.nav-text-btn', function() {
var $clickedBtn = $(this);
// 获取当前点击的按钮对应的 ID 后缀 (例如 game1, game2)
var currentId = $clickedBtn.attr('class').match(/mw-customtoggle-(\w+)/)[1];
// 找到所有其他的内容块
$('.nav-content').each(function() {
var thisId = $(this).attr('id').replace('mw-customcollapsible-', '');
// 如果不是当前点击的内容块,且当前是展开状态,则触发点击让其收回
if (thisId !== currentId && !$(this).hasClass('mw-collapsed')) {
// 找到对应的开关并模拟点击
$('.mw-customtoggle-' + thisId).click();
}
});
});