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