Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   не работает скрипт с HEX значениями color (https://javascript.ru/forum/misc/16659-ne-rabotaet-skript-s-hex-znacheniyami-color.html)

DeaDiK 16.04.2011 18:50

не работает скрипт с HEX значениями color
 
Здравствуйте, знатоки. Обращаюсь по такому вопросу: есть простой скрипт мигания текста.
function flashText() {
    intervalID = setInterval(ChangeText, 1000);
}
function ChangeText() {
    var div = document.getElementById('page5');
    if (div.style.color == "white") 
    {
        div.style.color = "blue";
    }
    else 
    {
        div.style.color = "white";    
    }
}

И все работает, но если заменить значения цветов на шестнадцатеричные, то скрипт просто не хочет работать.
function flashText() {
    intervalID = setInterval(ChangeText, 1000);
}
function ChangeText() {
    var div = document.getElementById('page5');
    if (div.style.color == "#FFFFFF") 
    {
        div.style.color = "#0000FF";
    }
    else                     //вот так не работает
    {
        div.style.color = "#FFFFFF";    
    }
}

Подскажите, пожалуйста, в чем может заключаться проблема.

Matre 16.04.2011 18:55

Разные браузеры по-разному хранят значения.
Например, Вы ставите #FFFFFF, а ставится #ffffff — в другом регистре.

Используйте переменную-флаг вместо проверки состояния.

function flashText(id, c1, c2) {
	var elem = document.getElementById(id);
	elem.tg = true;
	setInterval(function () {
		elem.style.color = (elem.tg = !elem.tg) ? c1 : c2;
	}, 1000);
}


flashText("page5", "#FFFFFF", "#0000FF");

DeaDiK 17.04.2011 14:00

спасибо, попробую-напишу.
Все работает, спасибо большое.


Часовой пояс GMT +3, время: 08:26.