как переключаться между двумя классами в jquery?

у меня проблема с toggleClass, похоже, она не работает должным образом. изображение должно измениться между show и hide. Он меняется на hide, но не обратно.

вот мой пример и немного кода:

<div class="top_menu_hidden" style="display: none; ">testing</div>
<div class="show_menu"></div>

$('.show_menu').on('click', function(){
        $('.top_menu_hidden').stop().slideToggle('normal', function(){
            $(".show_menu").toggleClass("hide_menu show_menu");
        });
});​

.show_menu{
    background: url("http://placehold.it/150&text=show") no-repeat scroll 0 0 transparent;
    height: 150px;
    width: 150px;
}
.hide_menu{
    background: url("http://placehold.it/150&text=hide") no-repeat scroll 0 0 transparent;
    height: 150px;
    width: 150px;
}

есть идеи?

Спасибо


person Patrioticcow    schedule 20.06.2012    source источник


Ответы (2)


$(".show_menu, .hide_menu").toggleClass("hide_menu show_menu");

ДЕМО

Полный код

$('.show_menu').on('click', function() {
    $('.top_menu_hidden').stop().slideToggle('normal', function() {
        $(".show_menu, .hide_menu").toggleClass("hide_menu show_menu");
    });
});
person thecodeparadox    schedule 20.06.2012
comment
Ты перестанешь копировать ответы??? Если вы считаете, что ваш лучше, напишите, если нет, то не пишите. Не пишите свои, чем скопируйте остальные из других ответов! Я говорю вам это в третий раз. - person gdoron is supporting Monica; 20.06.2012
comment
@gdoron Я что-то пропустил? Не вижу сходства между этим постом и вашим. - person Dutchie432; 20.06.2012

Существует функция переключения, которая делает это за вас из коробки:

$(".show_menu").toggle();

toggle документы:

Описание: Показать или скрыть совпадающие элементы.

person gdoron is supporting Monica    schedule 20.06.2012
comment
Хорошая точка зрения. Это, конечно, применимо только в том случае, если классы диктуют ТОЛЬКО видимость. - person Dutchie432; 20.06.2012
comment
@ Датчи432. Конечно, thecodeparadox скопировал это... Он делает это все время! - person gdoron is supporting Monica; 20.06.2012
comment
@ Датчи432. У вас более 10 КБ, поэтому вы можете увидеть это. Это только один пример. - person gdoron is supporting Monica; 21.06.2012