以蓝色为例,#0000FF应该被表示成rgb(0,0,255)。

我们将函数命名为getRGB()

(可以将字符串视为数组,这个数组的元素为字符)

function getRGB(color) {
  var rgb = [parseInt('0x'+color.slice(1,3)),parseInt('0x'+color.slice(3,5)),parseInt('0x'+color.slice(5,7))];
  return "rgb(" + rgb[0] + ","  + rgb[1] + "," +rgb[2] +")" ;       
}

 颜色转换

在控制台中,我们发现:当我们缩写16进制颜色的时候,就会出现NaN;

(这个例子我练习了之前学到的数组的slice方法)

经过一段时间的学习,我们可以试试这样

  

        var getRGB = function(oRgb) {
            var color = [],
                rgb   = [];
            oRgb = oRgb.replace(/#/, "");
            if (oRgb.length == 3) {
                var tmp = [];
                for (var i = 0; i < 3; i++) {
                    tmp.push(oRgb.charAt(i) + oRgb.charAt(i));
                }
                oRgb = tmp.join("");
            }
            for (var i = 0; i < 3; i++) {
                color[i] = "0x" + oRgb.substr(i + 2, 2);
                rgb.push(parseInt(Number(color[i])));
            }
            return "rgb(" +  rgb.join(",") + ")";
        }

  

  

相关文章:

  • 2022-12-23
  • 2021-10-10
  • 2022-12-23
  • 2021-12-19
  • 2021-09-07
  • 2021-07-25
猜你喜欢
  • 2022-02-10
  • 2021-05-17
  • 2021-10-31
  • 2021-10-26
  • 2022-12-23
  • 2021-11-06
相关资源
相似解决方案