当其中任何一个发生变化时,如何反转前景色和背景色

时间:2010-07-28 08:56:49

标签: javascript asp.net jquery regex ajax

我正在使用ajaxtoolkit来选择颜色。 我想将文本的前景颜色设置为背景颜色的反面。

如果选择黑色作为背景颜色,那么其相应的前景色应设置为白色,反之亦然。

我想用javascript

来做这件事
<script type="text/javascript">
    function colorChanged(sender) {
//        sender.get_element().style.color =
//       "#" + sender.get_selectedColor();
        sender.get_element().value="#" + sender.get_selectedColor();

    }   
</script>

背面颜色由ajax javascript设置。使用sender.get_selectedColor();可以获得上面设置的颜色。如何扭转这种颜色。我认为可以使用regex,但不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

您需要从RRGGBB获取每种颜色化合物,还原它然后再粘合:

function numberToHex(nValue, nLength/* =2 */) {
    var sValue  = Math.abs(Math.floor(nValue)).toString(16);
    if (!nLength)
        nLength = 2;
    if (sValue.length < nLength)
        sValue  = Array(nLength + 1 - sValue.length).join('0') + sValue;
    return sValue;
};

inverted = numberToHex(255 - parseInt(original.substr(0, 2), 16)) 
           + numberToHex(255 - parseInt(original.substr(2, 2), 16)) 
           + numberToHex(255 - parseInt(original.substr(4, 2), 16));