2012-06-20 2 views
1

У меня проблема с toggleClass, она не работает должным образом. изображение должно изменяться между show и hide. Это изменение к hide, но не назадКак переключаться между двумя классами в jquery?

здесь не мой example и некоторый код:

<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; 
} 

какие-либо идеи?

благодаря

ответ

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

DEMO

Полный код

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

Вы перестанете копировать ответы ??? Если вы считаете, что ваш лучше, напишите, если этого не произойдет. Не пишите, а не копируйте остальные ответы. Я в третий раз говорю вам это. – gdoron

+0

@ gdoron Я что-то упускаю? Я не вижу общения между этой почтой и твоей. – Dutchie432

+0

@ Dutchie432. отредактирован ... Это раздражает. – gdoron

4

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

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

toggle документы:

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

+0

Хорошая точка. Это, конечно, применимо только в том случае, если классы диктуют видимость ТОЛЬКО. – Dutchie432

+0

@ Dutchie432. Конечно, thecodeparadox скопировал это ... Он делает это все время! – gdoron

+0

@ Dutchie432. У вас больше 10K, поэтому вы можете [видеть это] (http://stackoverflow.com/a/11048059/601179). Это только один пример. – gdoron

Смежные вопросы