MediaWiki:Common.js

Материал из Ганджавики
Версия от 14:06, 9 октября 2024; Mixa007 (GW302160) (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
if (document.getElementsByClassName('nomobile').length==0 && document.getElementsByClassName('spcss').length>0) {
document.querySelector('.spcss').style.display = 'block';
}

if(document.querySelector('table.dpl.long')) {
 
var tables = document.querySelectorAll('table.dpl.long');
tables.forEach(function(table) {
        var rows = table.querySelectorAll('tr');
        var maxRows = 6; //максимальное количество строк (заголовок не в счёт)
        
        if(rows.length > maxRows) {
                for(var i = maxRows; i < rows.length; i++) { rows[i].style.display = 'none'; }
 
                //кнопка скрывания/раскрывания
                var newRow = document.createElement('tr');
                var newCell = document.createElement('td');
                newCell.setAttribute('colspan', rows[1].children.length);
                newCell.style.textAlign = 'center';
                var button = document.createElement('button');
                button.className = 'toggleTable';
                button.textContent = 'Показать';
                newCell.appendChild(button);
                newRow.appendChild(newCell);
                newRow.style.backgroundColor = '#deffde'; //цвет такой, как в заголовке
                table.appendChild(newRow);
 
                //функция для кнопки
                button.addEventListener('click', function() {
                        var isVisible = rows[6].style.display === 'table-row';
                        for(var i = 6; i < rows.length; i++) { rows[i].style.display = isVisible ? 'none' : 'table-row'; }
                        button.textContent = isVisible ? 'Показать' : 'Скрыть';
                });
        }
});
 
}