MediaWiki:Gadget-GradientHeaders.js: Difference between revisions
From Elwiki
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
$('tr:not(.rainbow, .section-border tr, .nmbox tr, .fancy table tr, table[cellpadding="5"][border="1"][style | $('tr:not(.rainbow, .section-border tr, .nmbox tr, .fancy table tr, table[cellpadding="5"][border="1"][style] tr)').each(function(){ | ||
var getGrayscale = function(color){ | var getGrayscale = function(color){ | ||
var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/; | var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/; |
Revision as of 22:26, 30 April 2022
$('tr:not(.rainbow, .section-border tr, .nmbox tr, .fancy table tr, table[cellpadding="5"][border="1"][style] tr)').each(function(){
var getGrayscale = function(color){
var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/;
var Pc = bgcolor.match(regAlpha);
Pc = Pc && Pc[1] ? Pc[1] : 1;
Pc = Math.round(255 - 17 * Pc);
return 'rgb(' + [Pc, Pc, Pc].join() + ')';
};
var tr = $(this);
var bgcolor = tr.css('background-color');
var bgimage = tr.css('background-image');
if(bgcolor != 'Rainbow' && bgimage == 'none'){
var grayscale = getGrayscale(bgcolor);
tr.children('th').each(function(){
var th = $(this);
var Hbgcolor = th.css('background-color');
var Hbgimage = th.css('background-image');
if(Hbgcolor != 'Rainbow' && Hbgimage == 'none'){
var Hgrayscale = (Hbgcolor == bgcolor) ? grayscale : getGrayscale(Hbgcolor);
th.css('background-image', 'linear-gradient(to bottom, ' + Hgrayscale + ', ' + Hbgcolor + ')');
}
});
}
});