MediaWiki:Common.js

来自偶像大师中文维基
ZheiZhei留言 | 贡献2025年9月5日 (五) 03:08的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
// 自动滚动 引用自神奇宝贝百科
function autoScroll(obj, scrollInterval, fadeSpeed) {
    var isFrozen = false;

    $(obj).each(function () {
        var $ul = $(this).find("ul:first");
        var $lis = $ul.find("li");
        $lis.hide().first().show();

        setInterval(function () {
            if (!isFrozen) {
                var $currentLi = $ul.find("li:first");
                var $nextLi = $currentLi.next("li");

                if ($nextLi.length === 0) {
                    $nextLi = $lis.first();
                }

                $currentLi.fadeOut(fadeSpeed, function () {
                    $currentLi.appendTo($ul);
                    $nextLi.fadeIn(fadeSpeed);
                });
            }
        }, scrollInterval);
    });

    $(window).on({
        blur: function () {
            isFrozen = true;
        },
        focus: function () {
            isFrozen = false;
        },
    });
}
autoScroll("#scrollDiv", 5000, 500);
autoScroll(".autoScroll", 5000, 500);
//右侧目录 引用自PRTS
$.when( mw.loader.using( [ 'mediawiki.api', 'mediawiki.jqueryMsg' ] ), $.ready )
    .then( () => new mw.Api().loadMessagesIfMissing( [ 'toc' ] ) )
    .then( () => {
        var b = $("<div id='rightToc' style='opacity: 0;'><div id='rtocbt'>" + mw.message( 'toc' ).text() + "</div></div>");
        b.append($('#toc').children('ul').clone().removeAttr("style"));
        $("#toc").after(b);
        var IsAnim=false;
        b.ready(function(){
            $("#rightToc").children("ul").wrap("<div id='rtoculw'></div>");
            $("#rtoculw").children("ul").attr('id','rtocul');
            $("#rightToc").css("marginRight",-$("#rtoculw").outerWidth());
            $('#rtocbt').on('mouseover',function(){
                if(IsAnim){
                    return;
                }
                IsAnim=true;
                $("#rightToc").animate({
                    marginRight:'5px'
                },"fast",function() {
                    IsAnim=false;
                    $('#rightToc').addClass('rtshow');
                    $('#rightToc').removeClass('rthide');
                });
            });
            $($("#rtoculw")[0]).on('mouseleave',function(){
                if(IsAnim){
                    return;
                }
                IsAnim=true;
                $("#rightToc").animate({
                    marginRight:-$("#rtoculw").outerWidth()
                },"fast",function(){
                    IsAnim=false;
                    $('#rightToc').addClass('rthide');
                    $('#rightToc').removeClass('rtshow');
                });
            });
            $("#rightToc").css('opacity','1');
        });
    });
/* 回到顶部 */
$(function() {
    var txt = " ",
        btn = $('<div/>', {
            'text': txt,
            'attr': {
                'title': txt,
                'class': 'backToTop nomobile'
            },
            'css': {
                'user-select': 'none'
            },
            'on': {
                'click': function() {
                    $("html, body").animate({
                        scrollTop: 0
                    }, 120);
                }
            }
        }).appendTo(document.body);
    $(window).on('scroll', function() {
        $(document).scrollTop() > 0 ? btn.fadeIn() : btn.fadeOut();
    }).scroll();
});