Какое стандартное определение цвета для разных браузеров с jQuery? - PullRequest
1 голос
/ 11 сентября 2009

Мне нужно моргнуть между двумя цветами: красным и белым.

Я обнаружил, что после $targetcss('background-color','red'),

значение $targetcss('background-color') не красное, а rgb(255, 255, 255),

обратите внимание, что между "," и цифрой в firefox есть пробел,

но в IE нет места.

И мой код теперь:

if(existingBgColor != 'rgb(255, 255, 255)')
    $target.css('background-color', 'rgb(255, 255, 255)');
else 
    $target.css('background-color', 'white');

, который работает в Firefox, но не для IE.

Конечно, я могу изменить это на это, чтобы применить его к IE:

if(existingBgColor != 'rgb(255, 255, 255)' && existingBgColor != 'rgb(255,255,255)')
    $target.css('background-color', 'rgb(255, 255, 255)');
else 
    $target.css('background-color', 'white');

Но что за третий браузер?

Есть ли стандартное решение для этого?

Ответы [ 4 ]

0 голосов
/ 11 сентября 2009

Вы можете указать шестнадцатеричное значение цвета, например #FF0000 для красного

$target.css('background-color', '#FF0000'); // red background color

Вот Рабочая демоверсия для игры. Проверьте результаты в панели инструментов Firebug или веб-разработчика

0 голосов
/ 11 сентября 2009

вы можете использовать шестнадцатеричные значения? так красный = # ff0000 и белый = # ffffff

0 голосов
/ 11 сентября 2009

Использование HEX .

Взгляните также на Кулер .

0 голосов
/ 11 сентября 2009

Вы можете просто обрезать все пробелы перед тестированием:

existingColor = existingColor.replace(new RegExp(/[" "]/g), ""); //rgb(255,255,255)

edit: как указано в комментариях: шестнадцатеричные значения являются кросс-браузерными и очень просты в использовании. Но если вы настаиваете на значениях RGB, то приведенный выше код поможет вам разобраться в ваших проблемах. Тем не мение. Если вы начнете писать что-то вроде $myElm.css("background-color", "red");, у вас будет целый ряд новых проблем ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...