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

Материал из Ганджавики
Перейти к навигации Перейти к поиску
мНет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
if !(document.classList.contains('nomobile')) {
if (document.getElementsByClassName('nomobile').length==0 && document.getElementsByClassName('spcss').length>0) {
alert('OK');
document.querySelector('.spcss').style.display = 'block';
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 ? 'Показать' : 'Скрыть';
                });
        }
});
}
}

Текущая версия от 14:06, 9 октября 2024

/* Размещённый здесь код 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 ? 'Показать' : 'Скрыть';
                });
        }
});
 
}