【问题标题】:How to invert the forecolor and backcolor when any one of them changes当其中任何一个发生变化时如何反转前景色和背景色
【发布时间】:2010-07-28 08:56:49
【问题描述】:

我正在使用 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,但不知道该怎么做。

【问题讨论】:

    标签: javascript asp.net jquery regex ajax


    【解决方案1】:

    您需要从 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));
    

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 2017-06-10
      • 1970-01-01
      • 2019-05-13
      • 2017-05-05
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 2016-02-29
      相关资源
      最近更新 更多