MediaWiki:Common.js:修订间差异

来自PD2汉化wiki
跳转到导航 跳转到搜索
Lil174留言 | 贡献
无编辑摘要
标签已被回退
Lil174留言 | 贡献
无编辑摘要
标签已被回退
第3行: 第3行:
mw.loader.load( '/w/index.php?title=MediaWiki:ExpandAndCollapse.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/w/index.php?title=MediaWiki:ExpandAndCollapse.js&action=raw&ctype=text/javascript' );


// 动态 Tooltip 初始化
/* 公告栏的滚动 */
$(document).ready(function() {
    var $tooltip = $('<div class="tooltip-container"></div>').appendTo('body');
 
    // 绑定鼠标事件
    $('.dynamic-tooltip').on('mousemove', function(e) {
        var tooltipText = $(this).data('tooltip');
        $tooltip.html(tooltipText).css({
            left: e.pageX + 15,
            top: e.pageY + 15,
            opacity: 1
        });
 
        // 防止 Tooltip 超出窗口
        var windowWidth = $(window).width();
        var tooltipWidth = $tooltip.outerWidth();
        if (e.pageX + tooltipWidth + 30 > windowWidth) {
            $tooltip.css('left', e.pageX - tooltipWidth - 10);
        }
    }).on('mouseleave', function() {
        $tooltip.css('opacity', 0);
    });
});
 
/* sitenotice 公告栏的滚动 */
$(function () {
$(function () {
     var self = $('#siteNoticeScroll');
     var self = $('#siteNoticeScroll');
第51行: 第27行:
});
});


/* DropDown 的交互逻辑 */
/* 动态 Tooltip */
$(document).ready(function() {
document.querySelectorAll('.dynamic-tooltip-trigger').forEach(element => {
   $('.custom-dropdown').click(function() {
   const tooltip = document.createElement('div');
     $(this).find('.dropdown-content').toggle();
  tooltip.className = 'mw-dynamic-tooltip';
  document.body.appendChild(tooltip);
 
  element.addEventListener('mouseover', function(e) {
     const rect = e.target.getBoundingClientRect();
    tooltip.innerHTML = e.target.dataset.mwDynamic; // 动态内容
    tooltip.style.display = 'block';
    tooltip.style.top = `${rect.bottom + window.scrollY}px`;
    tooltip.style.left = `${rect.left + window.scrollX}px`;
  });
 
  element.addEventListener('mouseout', () => {
    tooltip.style.display = 'none';
   });
   });
});
});

2025年2月9日 (日) 18:24的版本

/* 这里的任何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' );

/* 公告栏的滚动 */
$(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 */
document.querySelectorAll('.dynamic-tooltip-trigger').forEach(element => {
  const tooltip = document.createElement('div');
  tooltip.className = 'mw-dynamic-tooltip';
  document.body.appendChild(tooltip);

  element.addEventListener('mouseover', function(e) {
    const rect = e.target.getBoundingClientRect();
    tooltip.innerHTML = e.target.dataset.mwDynamic; // 动态内容
    tooltip.style.display = 'block';
    tooltip.style.top = `${rect.bottom + window.scrollY}px`;
    tooltip.style.left = `${rect.left + window.scrollX}px`;
  });

  element.addEventListener('mouseout', () => {
    tooltip.style.display = 'none';
  });
});