У меня есть меню, и каждый пункт меню представляет собой диапазон с классом, установленным в css:
.newClass {color: red}
.oldClass {color:black} oldClass:hover {color:blue;}
Когда вы нажимаете на пункт меню, класс изменяется на: $(this).removeClass('oldClass').addClass('newClass');
, что отлично работает.
Когда щелкает другой элемент меню, я возвращаю классы в текущий элемент меню с помощью: $(this).removeClass('newClass').addClass('oldClass');
Проблема в том, что когда класс меняется обратно, изменение не отражается, пока я не наведу указатель мыши на пункт меню. Таким образом, цвет элемента меню остается красным, пока я не наведу на него мышь, а затем он снова станет черным при синем наведении.
Смотрите пример Габи в комментариях, что должно происходить.
Вот мой фактический код:
$('.headingRev').removeClass('headingRev').addClass('heading');
$(this).removeClass('heading').addClass('headingRev');
и вот css:
.heading {color: #bb1f1a;}
.heading:hover {color: #e9b49e;text-decoration:none;}
.headingRev {color: #e9b49e;}
.
передoldClass:hover
- person Gabriele Petrioli   schedule 13.10.2010