MediaWiki:Gadget-GradientHeaders.js: Difference between revisions

From Elwiki
mNo edit summary
mNo edit summary
Line 23: Line 23:
                     var HPc = Hbgcolor.match(regAlpha);
                     var HPc = Hbgcolor.match(regAlpha);
                     HPc = HPc && HPc[1] ? HPc[1] : 1;
                     HPc = HPc && HPc[1] ? HPc[1] : 1;
                     HPc = Math.round(255 - 17 * Pc);
                     HPc = Math.round(255 - 17 * HPc);
                     var Hgrayscale = 'rgb(' + [HPc, HPc, HPc].join() + ')';
                     var Hgrayscale = 'rgb(' + [HPc, HPc, HPc].join() + ')';
                 }
                 }

Revision as of 22:57, 4 June 2016

$('tr:not(.rainbow)').each(function(){
    var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/;
    var tr = $(this);
    var bgcolor = tr.css('background-color');
    var bgimage = tr.css('background-image');

    if(bgcolor != 'Rainbow' && bgimage == 'none'){
        var Pc = bgcolor.match(regAlpha);
        Pc = Pc && Pc[1] ? Pc[1] : 1;
        Pc = Math.round(255 - 17 * Pc);
        var grayscale = 'rgb(' + [Pc, Pc, Pc].join() + ')';

        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'){
                if(Hbgcolor == bgcolor){
                    var Hgrayscale = grayscale;
                }
                else{
                    var HPc = Hbgcolor.match(regAlpha);
                    HPc = HPc && HPc[1] ? HPc[1] : 1;
                    HPc = Math.round(255 - 17 * HPc);
                    var Hgrayscale = 'rgb(' + [HPc, HPc, HPc].join() + ')';
                }
                th.css('background-image', 'linear-gradient(to bottom, ' + Hgrayscale + ', ' + Hbgcolor + ')');
            }
        });
    }
});