Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает конструкция IF-ELSE (https://javascript.ru/forum/misc/59663-ne-rabotaet-konstrukciya-if-else.html)

Влад Громов 21.11.2015 16:14

Не работает конструкция IF-ELSE
 
Здравствуйте, помоги пожалуйста, ни как не могу понять почему не работает скрипт ниже:

var menu = $('#menu_nav');
var adapMenu = $('#adap-menu');

if (window.innerWidth <= 600)  {
  if (menu.hasClass('show')) {
    adapMenu.click(function(){
        menu.removeClass('show');
    }
  } else {
    adapMenu.click(function(){
        menu.addClass('show');
      }
    );
  }
}

рони 21.11.2015 16:25

Влад Громов,
в клике условие а ненаоборот

Влад Громов 21.11.2015 16:28

Всё исправил, но функция срабатывает только один раз, то есть даёт класс show, но после повторного нажатия не удаляет, можете помочь с этим?

ruslan_mart 21.11.2015 16:29

Делать адаптивное меню через jQuery - верх руко*опия просто. :)

var menu = $('#menu_nav');
var adapMenu = $('#adap-menu');


adapMenu.click(function(){
        menu.toggleClass('show', window.innerWidth > 600);
});

laimas 21.11.2015 16:31

Как писал рони + .toggleClass()

Влад Громов 21.11.2015 16:33

function dropmenu() {
  var menu = $('#menu_nav');
  var adapMenu = $('#adap-menu');

  if (window.innerWidth <= 600)  {
    if (menu.hasClass('show')) {
          menu.removeClass('show');
    } else {
          menu.addClass('show');  
    }
  }
}


<li id="adap-menu" onclick="return dropmenu();"><a title="">Меню</a></li>


Вот всё работает

ruslan_mart 21.11.2015 16:34

Влад Громов, да не нужна там эта конструкция из условий, вот:

menu.toggleClass('show', window.innerWidth > 600);

laimas 21.11.2015 16:35

Вам же Ruslan_xDD прямым текстом написал как проще.

Влад Громов 21.11.2015 16:36

Ruslan_xDD,
А как сделать водругому адаптивное меню? раз вы говорите что через jquery это рукожопие

Влад Громов 21.11.2015 16:39

var menu = $('#menu_nav');
var adapMenu = $('#adap-menu');


adapMenu.click(function(){
        menu.toggleClass('show', window.innerWidth > 600);
});


так не работает ваша конструкция


Часовой пояс GMT +3, время: 02:23.