javascript獲得網(wǎng)頁的背景色和字體顏色

字號:


    獲得網(wǎng)頁的背景色和字體顏色,方法如下:
    思想: 通過取得顏色屬性值得到的是 rgb 色,不是我們想要的,所以需要將 rgb 色裝換為 十六進(jìn)制色 ,首先獲得rgb色 :
    代碼如下:
    var rgb = document.getElementById('color').style.backgroundColor;
    得到格式如下: rgb(225, 22, 23); 然后進(jìn)行拆分:
    代碼如下:
    var rgb = rgb.split('(')[1]; //拆分后為 [rgb, 225,22,23)]形式,長度為2的數(shù)組
    再將 (225,22,23)字符串進(jìn)行拆分(注意:只有number類型的才能轉(zhuǎn)換,所以用 parseInt 強(qiáng)制轉(zhuǎn)換類型?。?:
    代碼如下:
    for(var k = 0; k < 3; k++){
    str[k] = parseInt(rgb .split(',')[k]).toString(16);//str 數(shù)組保存拆分后的數(shù)據(jù)
    }
    最后的組合:
    代碼如下:
    str = '#'+str[0]+str[1]+str[2];
    整個代碼如下:
    代碼如下:
    <!DOCTYPE html>
    <html>
    <head>
    <title>getHexColor js/jQuery 獲得十六進(jìn)制顏色</title>
    <meta charset="utf-8" />
    <script type="text/javascript">
    function getHexBgColor(){
    var str = [];
    var rgb = document.getElementById('color').style.backgroundColor.split('(');
    for(var k = 0; k < 3; k++){
    str[k] = parseInt(rgb[1].split(',')[k]).toString(16);
    }
    str = '#'+str[0]+str[1]+str[2];
    document.getElementById('color').innerHTML = str;
    }
    function getHexColor(){
    var str = [];
    var rgb = document.getElementById('color').style.color.split('(');
    for(var k = 0; k < 3; k++){
    str[k] = parseInt(rgb[1].split(',')[k]).toString(16);
    }
    str = '#'+str[0]+str[1]+str[2];
    document.getElementById('color').innerHTML = str;
    }
    </script>
    <style type="text/css">
    #color{
    width: 200px;
    height: 200px;
    line-height: 200px;
    text-align: center;
    }
    </style>
    </head>
    <body>
    <div id="color"></div>
    <input onclick="getHexBgColor();" type="button" value="獲得背景色" />
    <input onclick="getHexColor();" type="button" value="獲得字體顏色" />
    </body>
    </html>