Как инвертировать передний и задний цвета при изменении любого из них - PullRequest
2 голосов
/ 28 июля 2010

Я использую 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 Ответ

2 голосов
/ 28 июля 2010

Вам нужно получить все цветовые соединения от 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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...