MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 293: | Строка 293: | ||
// Функция для увеличения яркости цвета | // Функция для увеличения яркости цвета | ||
function brightenColor(color, factor) { | function brightenColor(color, factor = 1.03) { | ||
function getBrightness(r, g, b) { | function getBrightness(r, g, b) { | ||
return 0.2126 * r + 0.7152 * g + 0.0722 * b; | return 0.2126 * r + 0.7152 * g + 0.0722 * b; | ||
| Строка 315: | Строка 315: | ||
var brightness = getBrightness(r, g, b); | var brightness = getBrightness(r, g, b); | ||
// | // Чем темнее цвет, тем выше фактор, чем светлее, тем меньше он увеличивается | ||
var brightnessFactor; | |||
brightnessFactor | if (brightness < 60) { | ||
brightnessFactor = factor + 0.5; | |||
} else if (brightness < 120) { | |||
brightnessFactor = factor + 0.3; | |||
} else if (brightness < 180) { | |||
brightnessFactor = factor + 0.1; | |||
} else { | |||
brightnessFactor = factor; | |||
} | } | ||
// | // Применяем фактор яркости | ||
r = Math.min(255, Math.floor(r * brightnessFactor)); | r = Math.min(255, Math.floor(r * brightnessFactor)); | ||
g = Math.min(255, Math.floor(g * brightnessFactor)); | g = Math.min(255, Math.floor(g * brightnessFactor)); | ||
| Строка 415: | Строка 417: | ||
if (!innerCell.hasAttribute('rowspan') || innerCell.getAttribute('rowspan') === '1') { | if (!innerCell.hasAttribute('rowspan') || innerCell.getAttribute('rowspan') === '1') { | ||
// Увеличиваем яркость фона и текста ячейки при наведении | // Увеличиваем яркость фона и текста ячейки при наведении | ||
innerCell.style.backgroundColor = brightenColor(originalStyles[innerIndex].backgroundColor | innerCell.style.backgroundColor = brightenColor(originalStyles[innerIndex].backgroundColor); | ||
innerCell.style.color = brightenColor(originalStyles[innerIndex].color | innerCell.style.color = brightenColor(originalStyles[innerIndex].color); | ||
} | } | ||
}); | }); | ||