1.通过prototype属性在String对象中自定义函数,示例如下:
String.prototype.colorRgb = function(opacity){
opacity = opacity || .6;
var color = this.toLowerCase();
var pattern = /^#([0-9|a-f]{3}|[0-9|a-f]{6})$/;
if(color && pattern.test(color)) {
if(color.length == 4) {
color = '#' + color[1] + color[1] + color[2] + color[2] + color[3] + color[3];
}
var colorNew = [];
for (var i=1; i<7; i+=2) {
colorNew.push(parseInt("0x"+color.slice(i, i+2)));
}
return "RGBA(" + colorNew.join(",") + ", " + opacity + ")";
}
return color;
}
2.通过jQuery自定义函数,示例如下:
(function($){
$.colorRgb = function(opacity){
opacity = opacity || .6;
var color = this.toLowerCase();
var pattern = /^#([0-9|a-f]{3}|[0-9|a-f]{6})$/;
if(color && pattern.test(color)) {
if(color.length == 4) {
// 将三位转换为六位
color = '#' + color[1] + color[1] + color[2] + color[2] + color[3] + color[3];
}
//处理六位的颜色值
var colorNew = [];
for (var i=1; i<7; i+=2) {
colorNew.push(parseInt("0x"+color.slice(i, i+2)));
}
return "RGBA(" + colorNew.join(",") + ", " + opacity + ")";
}
return color;
}
})(jQuery);