MediaWiki:Gadget-GradientHeaders.js: Difference between revisions

From Elwiki
mNo edit summary
mNo edit summary
Line 1: Line 1:
$('tr:not(.rainbow)').each(function(){
$('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 tr = $(this);
     var bgcolor = tr.css('background-color');
     var bgcolor = tr.css('background-color');
Line 5: Line 6:


     if(bgcolor != 'Rainbow' && bgimage == 'none'){
     if(bgcolor != 'Rainbow' && bgimage == 'none'){
         var Pc = bgcolor.match(/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 = Pc && Pc[1] ? Pc[1] : 1;
         Pc = Math.round(255 - 17 * Pc);
         Pc = Math.round(255 - 17 * Pc);
Line 16: Line 17:


             if(Hbgcolor != 'Rainbow' && Hbgimage == 'none'){
             if(Hbgcolor != 'Rainbow' && Hbgimage == 'none'){
                 th.css('background-image', 'linear-gradient(to bottom, ' + grayscale + ', ' + bgcolor + ')');
                if(Hbgcolor == bgcolor){
                    var Hgrayscale = grayscale;
                }
                else{
                    var HPc = Hbgcolor.match(regAlpha);
                    HPc = HPc && HPc[1] ? HPc[1] : 1;
                    HPc = Math.round(255 - 17 * Pc);
                    var Hgrayscale = 'rgb(' + [HPc, HPc, HPc].join() + ')';
                }
                 th.css('background-image', 'linear-gradient(to bottom, ' + Hgrayscale + ', ' + bgcolor + ')');
             }
             }
         });
         });
     }
     }
});
});

Revision as of 22:49, 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 * Pc);
                    var Hgrayscale = 'rgb(' + [HPc, HPc, HPc].join() + ')';
                }
                th.css('background-image', 'linear-gradient(to bottom, ' + Hgrayscale + ', ' + bgcolor + ')');
            }
        });
    }
});