跳转到内容

MediaWiki:Common.js

来自SCR公司
Kakushi留言 | 贡献2026年1月7日 (三) 00:58的版本 (创建页面,内容为“这里的任何JavaScript将为所有用户在每次页面加载时加载。:​ (function () { function toggleAccordion(header) { const content = header.nextElementSibling; const textNode = header.querySelector('.scr-accordion-text'); const expanded = header.getAttribute('aria-expanded') === 'true'; header.setAttribute('aria-expanded', String(!expanded)); content.hidden = expanded; textNode.textContent = expanded ? textNode.…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
(function () {
  function toggleAccordion(header) {
    const content = header.nextElementSibling;
    const textNode = header.querySelector('.scr-accordion-text');
    const expanded = header.getAttribute('aria-expanded') === 'true';

    header.setAttribute('aria-expanded', String(!expanded));
    content.hidden = expanded;

    textNode.textContent = expanded
      ? textNode.dataset.open
      : textNode.dataset.close;
  }

  document.addEventListener('click', function (e) {
    const header = e.target.closest('.scr-accordion-header');
    if (!header) return;
    toggleAccordion(header);
  });

  document.addEventListener('keydown', function (e) {
    if (e.key !== 'Enter' && e.key !== ' ') return;
    const header = e.target.closest('.scr-accordion-header');
    if (!header) return;
    e.preventDefault();
    toggleAccordion(header);
  });
})();