deadrime
@deadrime
Fullstack web developer

Как переключаться между несколькими классами?

У меня есть
<span class="some-class red">

Я хочу, чтобы при клике оно переключалось между классами red, green, blue
*клик*
<span class="some-class green">
*клик*
<span class="some-class blue">
*клик*
<span class="some-class red">


Как сделать что-то типа:
var colors = ['red','green','blue'];
$('.some-class').click(function() {
        $(this).toggleClass(colors);
});

Но чтобы оно работало =)

PS Так работает, но как-то громоздко.. Особенно, если будет не 3 стиля, а больше..
$('.some-class').click(function() {
        if ($(this).hasClass("blue")) {
            $(this).removeClass("blue").addClass("red");    
        }
        else if ($(this).hasClass("red")){
            $(this).removeClass("red").addClass("green");    
        }
        else if ($(this).hasClass("green")){
             $(this).removeClass("green").addClass("blue");    
        }
    });
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
leshikgo
@leshikgo
var colors = ['red','green','blue'];
var i=0;
$('.some-class').click(function() {
    $(this).removeClass(colors[i]);
		i++;
		if (i < colors.length) {
        $(this).addClass(colors[i]);
     }
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы