MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 405: | Строка 405: | ||
// Объект для хранения оригинальных стилей | // Объект для хранения оригинальных стилей | ||
var originalStyles = {}; | var originalStyles = {}; | ||
// Объект для хранения подсвеченных ячеек | |||
var highlightedCells = {}; | var highlightedCells = {}; | ||
| Строка 428: | Строка 430: | ||
if (highlightedCells[cellId]) return; | if (highlightedCells[cellId]) return; | ||
highlightedCells[cellId] = true; | highlightedCells[cellId] = true; | ||
// Подсвечиваем ячейку с rowspan | |||
cell.style.backgroundColor = brightenColor(getComputedStyle(cell).backgroundColor); | |||
cell.style.color = brightenColor(getComputedStyle(cell).color); | |||
// Подсвечиваем все строки, охватываемые rowspan | // Подсвечиваем все строки, охватываемые rowspan | ||
| Строка 445: | Строка 451: | ||
} | } | ||
// Подсвечиваем | // Подсвечиваем все строки, затрагиваемые ячейками rowspan | ||
for (var j = 0; j < topLevelRows.length; j++) { | |||
var checkRow = topLevelRows[j]; | |||
if (checkRow === row) continue; // Пропускаем текущую строку | |||
var checkCells = Array.prototype.slice.call(checkRow.querySelectorAll('td, th')); | |||
checkCells.forEach(function(checkCell) { | |||
} | var checkCellId = 'row-' + j + '-cell-' + checkCells.indexOf(checkCell); | ||
} | if (highlightedCells[checkCellId]) return; | ||
var checkCellRowspan = parseInt(checkCell.getAttribute('rowspan'), 10) || 1; | |||
if (checkCellRowspan > 1 && checkCell.contains(cell)) { | |||
checkCell.style.backgroundColor = brightenColor(getComputedStyle(checkCell).backgroundColor); | |||
checkCell.style.color = brightenColor(getComputedStyle(checkCell).color); | |||
highlightedCells[checkCellId] = true; | |||
} | |||
}); | |||
} | |||
}); | }); | ||