MediaWiki:Common.js
MediaWiki界面页面
更多操作
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
$(function() {
var $tooltip = $('#custom-notetip-popup');
if (!$tooltip.length) {
$tooltip = $('<div id="custom-notetip-popup"></div>').appendTo('body');
}
mw.hook('wikipage.content').add(function($content) {
$content.find('.mw-custom-notetip').on('mouseenter', function() {
var $this = $(this);
var text = $this.attr('data-notetip');
if (!text) return;
var rect = this.getBoundingClientRect();
$tooltip.text(text).show();
var tipHeight = $tooltip.outerHeight();
var tipWidth = $tooltip.outerWidth();
var top = window.scrollY + rect.top - tipHeight - 10;
var left = window.scrollX + rect.left + (rect.width / 2) - (tipWidth / 2);
if (rect.top - tipHeight < 20) {
top = window.scrollY + rect.bottom + 10;
}
var winWidth = $(window).width();
if (left < 10) left = 10;
if (left + tipWidth > winWidth - 10) left = winWidth - tipWidth - 10;
$tooltip.css({ 'top': top + 'px', 'left': left + 'px', 'display': 'block' });
}).on('mouseleave', function() {
$tooltip.hide();
});
mw.loader.using('jquery.makeCollapsible').then(function() {
$content.find('.mw-collapsible').makeCollapsible();
});
$content.find('.Tabs:not(.tabs-initialized)').each(function() {
var $tabsContainer = $(this);
var $tabItems = $tabsContainer.find('> .Tab');
if (!$tabItems.length) return;
var $labelWrapper = $('<div class="TabLabel"></div>');
var $contentWrapper = $('<div class="TabContent"></div>');
$tabItems.each(function(i) {
var $item = $(this);
var $label = $item.find('> .TabLabelText');
var $contentBox = $item.find('> .TabContentText');
if (i === 0) {
$label.addClass('selected');
$contentBox.addClass('selected');
}
$label.on('click', function() {
$labelWrapper.find('.TabLabelText').removeClass('selected');
$contentWrapper.find('.TabContentText').removeClass('selected');
$(this).addClass('selected');
$contentBox.addClass('selected');
});
$labelWrapper.append($label);
$contentWrapper.append($contentBox);
});
$tabsContainer.empty().append($labelWrapper).append($contentWrapper).addClass('tabs-initialized');
});
$content.find('.nav-pill-btn').on('click', function() {
var $clicked = $(this);
var match = $clicked.attr('class').match(/mw-customtoggle-game(\d+)/);
if (!match) return;
var $myContent = $('#mw-customcollapsible-game' + match[1]);
if ($myContent.hasClass('mw-collapsed')) {
$('.nav-pill-content').not($myContent).each(function() {
var $other = $(this);
if (!$other.hasClass('mw-collapsed')) {
var otherNum = $other.attr('id').replace('mw-customcollapsible-game', '');
$('.mw-customtoggle-game' + otherNum).first().click();
}
});
}
});
});
});