2015-01-23 2 views
-2

Я пытаюсь создать слайд вниз меню, используя JQuery. Я думал, что буду основывать эту логику на том, что если в меню был класс activated, тогда при его нажатии он должен быть закрыт. В противном случае он не открыт, поэтому он должен быть открытым.JQuery слайд вниз меню, если еще условие

Код ниже - это базовая версия того, чего я пытаюсь достичь, но по какой-то причине он никогда не попадает в clause. Каждый раз, когда я нажимаю на элемент, появляется окно с сообщением «Закрыть».

$('#openMenu').click(function(){ 
         if($('#openMenu'.hasClass('activated'))){ 
          alert('close'); 
          $(this).removeClass('activated'); 
         }else{ 
          alert('open'); 
          $(this).addClass('activated'); 
         } 
        }); 

Может ли кто-нибудь увидеть, где я могу ошибиться? Я должен отметить, что когда страница загружается, у div нет класса activated, примененного к нему.

+4

Первое, что я это будет выглядеть в консоли браузера для любых ошибок. Очевидно, что '$ ('# openMenu'.hasClass (' activated ')' имеет синтаксическую ошибку. – karthikr

+0

У него нет синтаксических ошибок, первое, что я сделал, это проверить консоль – Javacadabra

ответ

5
$('#openMenu').toggleClass("activated"); 
+1

Спасибо, что решила мою проблему. – Javacadabra

1

Похоже, ваш синтаксис для проверки класса элемента имеет проблемы, он должен выглядеть следующим образом:

if($('#openMenu').hasClass('activated')){ 

Вот рабочая скрипку:

http://jsfiddle.net/dnsdrzym/2/

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