火狐和ie中获得背景色问题(getComputedStyle与currentStyle的区别)
火狐获得的rgbstr是rgb的因此我还要转成16进制的
function getcurrentstyle(oelement) {
if(navigator.useragent.indexof("firefox")>0 ){
var rgbstr=document.defaultview.getcomputedstyle(oelement,null).backgroundcolor;
var strr;
if(rgbstr.tostring().indexof('(')>0 && rgbstr.tostring().indexof(')')>0)
{
strr= rgbstr.tostring().substring(parseint(rgbstr.tostring().indexof('(')+1),rgbstr.tostring().indexof(')')).split(',');
}
return tohexcolor(strr[0],strr[1],strr[2]).substring(1);
}
else{
return oelement.currentstyle.backgroundcolor.trim().substring(1);
}
}
代码如下
复制代码
function tohexcolor(r,g,b){
var hex='#';
var hexstr = '0123456789abcdef';
low = r % 16;
high = (r - low)/16;
hex+=hexstr.charat(high) + hexstr.charat(low);
low = g % 16;
high = (g - low)/16;
hex+=hexstr.charat(high) + hexstr.charat(low);
low = b % 16;
high = (b - low)/16;
hex+=hexstr.charat(high) + hexstr.charat(low);
return hex;
}