Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Смена цвета текста по кругу! (https://javascript.ru/forum/misc/25870-smena-cveta-teksta-po-krugu.html)

JS_Den 18.02.2012 13:41

Смена цвета текста по кругу!
 
Подскажите как сменить 3 разных цвета текста по кругу с помощью JS? Пробовал делать и с флагом и с тремя ифами (но второй пробрасывает)! С двумя цветами делал все получается! Помогите плз!

Shaci 18.02.2012 14:01

Цитата:

Сообщение от JS_Den (Сообщение 158258)
Подскажите как сменить 3 разных цвета текста по кругу с помощью JS? Пробовал делать и с флагом и с тремя ифами (но второй пробрасывает)! С двумя цветами делал все получается! Помогите плз!

Хопс, вроде не "пробрасывает" ничё, да?
<span onselectstart="return false" onmousedown="return false" style = "color:black" onclick = "if (this.style.color == 'black') this.style.color = 'red'; else if (this.style.color == 'red') this.style.color = 'green'; else this.style.color = 'black'">text</span>

JS_Den 18.02.2012 14:08

Цитата:

Сообщение от Shaci (Сообщение 158261)
Хопс, вроде не "пробрасывает" ничё, да?
<span onselectstart="return false" onmousedown="return false" style = "color:black" onclick = "if (this.style.color == 'black') this.style.color = 'red'; else if (this.style.color == 'red') this.style.color = 'green'; else this.style.color = 'black'">text</span>

Да, но только надо , чтобы при загрузке страницы сам цвет менялся через некоторое время! Без всяких onclick и тому подобное!

Shaci 18.02.2012 14:11

Цитата:

Сообщение от JS_Den (Сообщение 158262)
Да, но только надо , чтобы при загрузке страницы сам цвет менялся через некоторое время! Без всяких onclick и тому подобное!

ну так, это ж просто
http://learn.javascript.ru/settimeout-setinterval

Shaci 18.02.2012 14:39

вот совсем по простому, к примеру
<body>    
    <span style ="color:black">text</span>
    <button onclick ="clearInterval(timer)">PLEASE STOP!!!</button>    
    <script type = "text/javascript">
        var element = document.body.children[0];
        function changeTxtColor() {
            var style =  element.style;
            if (style.color == "black")
                element.style.color = "red";
            else if (style.color == "red")
                element.style.color = "green";
            else 
                element.style.color = "black";
        }
        var timer = setInterval(changeTxtColor, 500);
    </script>
</body>


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