復制代碼 代碼如下:
function reverseColor(rgbColor) {//205,15,20
// console.log(rgbColor);
rgbColor = rgbColor.replace(/\s/g, "");
var arrRGB = new Array(3);
if (rgbColor.indexOf("rgb") > -1) {
var colorReg = /\s*\d+,\s*\d+,\s*\d+/i;
var t = colorReg.exec(rgbColor)[0].split(",");
console.log(t);
for (var i = 0; i < arrRGB.length; i++) {
arrRGB[i] = 255 - t[i];
}
}
else if (rgbColor.indexOf("#") > -1) {
if (rgbColor.length > 4)//"#fc0,#ffcc00"
{
var j = 1;
for (var i = 0; i < arrRGB.length; i++) {
arrRGB[i] = 255 - parseInt(rgbColor.substr((i + j), 2), 16);
j += 1;
}
} else {
for (var i = 0; i < arrRGB.length; i++) {
var t = rgbColor.substr((i + 1), 1);
t = t + t;
arrRGB[i] = 255 - parseInt(t, 16);
}
}
}
return "rgb(" + arrRGB.join(",") + ")";
}
演示代碼:
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]