打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Common.js

MediaWiki界面页面
弃权者留言 | 贡献2026年5月10日 (日) 10:23的版本 (创建页面,内容为“$(function() { var $tooltip = $('<div id="custom-notetip-popup"></div>').appendTo('body'); mw.hook('wikipage.content').add(function($content) { 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('> .T…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
$(function() {
    var $tooltip = $('<div id="custom-notetip-popup"></div>').appendTo('body');

    mw.hook('wikipage.content').add(function($content) {
        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();
                    }
                });
            }
        });

        $content.find('.mw-custom-notetip').on('mouseenter', function() {
            var $this = $(this);
            var rect = this.getBoundingClientRect();
            $tooltip.text($this.data('notetip')).show();

            var tipHeight = $tooltip.outerHeight();
            var top = window.scrollY + rect.top - tipHeight - 10;
            if (rect.top - tipHeight < 10) top = window.scrollY + rect.bottom + 10;

            $tooltip.css({
                'top': top + 'px',
                'left': (rect.left + (rect.width / 2) - ($tooltip.outerWidth() / 2)) + 'px'
            });
        }).on('mouseleave', function() {
            $tooltip.hide();
        });
    });
});