lynxerzhang / JSSkills

MIT License
0 stars 0 forks source link

设置css颜色值 #6

Open lynxerzhang opened 6 years ago

lynxerzhang commented 6 years ago
var colorToRGB = (function(){
    return function(colorHex) {
        if(typeof colorHex == 'number'){
            colorHex = "#" + colorHex.toString(16);
        }
        var hashTag = colorHex.charAt(0) === "#";
        if(hashTag){
            colorHex = colorHex.slice(1);
        }
        var shorthand = colorHex.length == 3;
        var alpha = colorHex.length == 8;
        if(shorthand){
            var h = colorHex.split("").map(function(s){
                return s + s;
            });
            colorHex = h.join("");
        }
        var hex = parseInt(colorHex, 16); 
        return "rgb" + (alpha ? "a" : "") + "(" + 
                        (alpha ? (((hex >> 24) & 0xFF) + ", ") : "") + 
                        ((hex >> 16) & 0xFF) + ", " + ((hex >> 8) & 0xFF) + ", " + 
                        (hex & 0xFF) + ")";
    }
})();
console.log(colorToRGB('#ffff6600')); // rgba(255, 255, 102, 0)
//如下输出都为rgb(255, 102, 0)
console.log(colorToRGB('ff6600'));
console.log(colorToRGB('#f60'));
console.log(colorToRGB('f60'));
console.log(colorToRGB(0xff6600));