MediaWiki:Test.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Метка: ручная отмена
Строка 1: Строка 1:
document.addEventListener('DOMContentLoaded', function () {
document.addEventListener('DOMContentLoaded', function () {
   var headers = document.getElementsByClassName('collapsible-header');
   var headers = document.getElementsByClassName('collapsible-header');
 
   for (var i = 0; i < headers.length; i++) {
   for (var i = 0; i < headers.length; i++) {
     headers[i].onclick = function () {
     headers[i].onclick = function () {
       var content = this.nextElementSibling;
       var content = this.nextElementSibling;
        
       var arrow = this.getElementsByClassName('collapsible-arrow')[0];
      if (!content) return;


       // Если блок уже открыт, скрыть его
       if (!content || !arrow) return;
       if (content.style.maxHeight) {
 
         content.style.maxHeight = null;
      var isOpen = content.classList.contains('open');
 
       if (isOpen) {
        content.classList.remove('open');
         arrow.classList.remove('rotated');
       } else {
       } else {
         // Открыть блок, добавив максимальную высоту
         content.classList.add('open');
         content.style.maxHeight = content.scrollHeight + "px";
         arrow.classList.add('rotated');
       }
       }
     };
     };
   }
   }
});
});

Версия от 05:21, 8 мая 2025

document.addEventListener('DOMContentLoaded', function () {
  var headers = document.getElementsByClassName('collapsible-header');
  for (var i = 0; i < headers.length; i++) {
    headers[i].onclick = function () {
      var content = this.nextElementSibling;
      var arrow = this.getElementsByClassName('collapsible-arrow')[0];

      if (!content || !arrow) return;

      var isOpen = content.classList.contains('open');

      if (isOpen) {
        content.classList.remove('open');
        arrow.classList.remove('rotated');
      } else {
        content.classList.add('open');
        arrow.classList.add('rotated');
      }
    };
  }
});