MediaWiki:Common.js:修订间差异

Lil174留言 | 贡献
无编辑摘要
标签已被回退
Lil174留言 | 贡献
无编辑摘要
标签已被回退
第28行: 第28行:


/* 动态 Tooltip */
/* 动态 Tooltip */
document.querySelectorAll('.dynamic-tooltip-trigger').forEach(element => {
$(document).ready(function() {
  const tooltip = document.createElement('div');
  $('.api-tooltip').hover(
  tooltip.className = 'mw-dynamic-tooltip';
    function(e) {
  document.body.appendChild(tooltip);
      const pageTitle = $(this).data('page');
      const $tooltip = $('<div class="mw-api-tooltip">加载中...</div>').appendTo('body');
     
      // 调用MediaWiki API
      $.getJSON(`/w/api.php?action=query&format=json&prop=extracts&exintro&titles=${encodeURIComponent(pageTitle)}&origin=*`, function(data) {
        const extract = data.query.pages[Object.keys(data.query.pages)[0]].extract;
        $tooltip.html(extract);
      });


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


   element.addEventListener('mouseout', () => {
   function positionTooltip(e, $tooltip) {
     tooltip.style.display = 'none';
     $tooltip.css({
   });
      top: e.pageY + 10,
      left: e.pageX + 10,
      position: 'absolute',
      backgroundColor: '#fff',
      border: '1px solid #aaa'
    });
   }
});
});
MediaWiki Appliance - Powered by TurnKey Linux