MediaWiki:Common.js

来自异世界百科
落雨枫讨论 | 贡献2019年1月8日 (二) 17:43的版本

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
jQuery(function(){
    jQuery('.mw-collapse').each(function(){
        var dom = jQuery(this);
        dom.find('.toctitle:first').append('<span class="toctoggle">&nbsp;<a role="button" tabindex="0" class="mw-collapse-toggle">显示</a>&nbsp;</span>');
        var content = dom.find('.toccontent:first');
        var toggleBtn = dom.find('.mw-collapse-toggle:first');
        toggleBtn.click(function(){
            if(content.css('display') === 'none'){
                toggleBtn.text('隐藏');
                content.slideDown(500);
            } else {
                toggleBtn.text('显示');
                content.slideUp(500);
            }
        });
    });
    
    var $root = jQuery('html, body');  //选择器缓存起来。这样每次点击时就不需要再重新查找了
    $root.on('click', 'a', function(e) {
        var href = jQuery(this).attr('href');
        if(typeof href === 'string' && href.length > 0 && href[0] === '#'){
            var target = jQuery(href.replace(/\./gi, '\\.'));
            if(target.length > 0){
                var scrollPos = Math.max(0, target.offset().top - 55);
                var duration = Math.min(500, Math.abs($root.scrollTop() - scrollPos / 2));
                $root.animate({
                    scrollTop: scrollPos
                }, duration, function () {
                    window.location.hash = href;
                });
                e.preventDefault();
                return false;
            }
        }
    });
});