js实现16进制颜色转换成rgba格式

今天接的需求需要背景颜色有透明度,然而后台打的数据是#16进制格式的颜色,所以需要用js手动把16进制颜色转换成rgba格式。代码如下:


function colorRgb(str,opacity){
        var sColor = str.toLowerCase();
        if(sColor){
            if(sColor.length === 4){
                var sColorNew = "#";
                for(var i=1; i<4; i+=1){
                    sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));
                }
                sColor = sColorNew;
            }
            //处理六位的颜色值
            var sColorChange = [];
            for(var i=1; i<7; i+=2){
                sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));
            }
            return "rgba(" + sColorChange.join(",")+","+opacity + ")";
        }else{
            return sColor;
        }
    };

你可能感兴趣的:(JS学习札记)