MediaWiki:Common.js

来自PD2汉化wiki
Lil174留言 | 贡献2025年2月9日 (日) 19:03的版本
跳转到导航 跳转到搜索

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
mw.loader.load( '//sdk.51.la/js-sdk-pro.min.js' );
mw.loader.load( '/w/index.php?title=MediaWiki:ExpandAndCollapse.js&action=raw&ctype=text/javascript' );

/* sitenotice 公告栏的滚动 */
$(function () {
    var self = $('#siteNoticeScroll');
    if (!self[0]) return;
    var ul = self.find('ul:first');
    ul.width(self.width() * self.find('li').length).attr({
        'data-left': 0,
        'data-length': self.find('li').length
    }).find('li').width(self.width());
    window.setInterval(function () {
        var dataset = ul[0].dataset,
            oldLeft = +dataset.left;
        ul.css('marginLeft', -(++oldLeft * self.width()) + 'px').delay(730).queue(function () {
            dataset.left = oldLeft === +dataset.length - 1 ? -1 : oldLeft;
            $(this).dequeue();
        });
    }, 5000);
    $(window).on('resize', function () {
        ul.width(self.width() * self.find('li').length).animate({
            marginLeft: -((+ul[0].dataset.left === -1 ? 0 : +ul[0].dataset.left) * self.width()) + 'px'
        }, 370);
    });
});

/* 动态 Tooltip */
mw.hook('wikipage.content').add(function() {
  $('.dynamic-tooltip').hover(function(e) {
    const title = $(this).data('tooltip-page');
    const $tooltip = $('<div class="custom-tooltip-box">加载中...</div>').appendTo('body');
    
    new mw.Api().get({
      action: 'query',
      prop: 'extracts',
      exintro: true,
      titles: title
    }).done(function(data) {
      const content = data.query.pages[Object.keys(data.query.pages)[0]].extract;
      $tooltip.html(content);
    });
    
    $tooltip.css({
      top: e.pageY + 10,
      left: e.pageX + 10
    });
  }, function() {
    $('.custom-tooltip-box').remove();
  });
});