2015-05-25 6 views
-1

, поэтому я создаю навигационное меню с переключателем слайдов. Я хочу, чтобы кнопка переключения скрывалась, когда меню открыто, но я все же хочу, чтобы она занимала пространство, чтобы не испортить форматирование.Uncaught SyntaxError: Неожиданный токен else, stumped

Мой Javascript код выглядит следующим образом:

(function() { 
$('.menu-toggle').bind('click',function() { 
       $('body').toggleClass('menu-open'); 
       if ($('body').hasClass('menu-open') == true) { 
        $('.outside-toggle').style.visibility = "hidden"; 
       else 
        $('.outside-toggle').style.visibility = "visible"; 
       }; 
    return false; 
}); 

})();

Я пробовал несколько различных соглашений синтаксиса, и ни один из них не работает. Я получаю сообщение об ошибке «Uncaught SyntaxError: Unexpected token else»

Любая помощь будет оценена.

+1

'else' должен быть вне' if' блока. – Teemu

ответ

2

Изменить

if ($('body').hasClass('menu-open') == true) { 
    $('.outside-toggle').style.visibility = "hidden"; 
else 
    $('.outside-toggle').style.visibility = "visible"; 
}; 

в

if ($('body').hasClass('menu-open')) { // == true is useless 
    $('.outside-toggle')[0].style.visibility = "hidden"; // missing [0] 
} else { // <------ HERE THE MISSING BRACES 
    $('.outside-toggle')[0].style.visibility = "visible"; // style is a property of a DOM element, not of a jquery object 
} 

или лучше:

$('.outside-toggle').css('visibility', $('body').hasClass('menu-open') ? "hidden" : "visible"); 
+0

Не могу поверить, я пропустил это. Спасибо, Denys – Webhead

+0

Я все равно получаю сообщение об ошибке. – Webhead

+0

Я изменил этот раздел на $ ('. Out-toggle'). Style.visibility = $ ('body'). HasClass ('menu-open')? «скрытый»: «видимый»; Код теперь возвращает «Uncaught TypeError: Невозможно установить свойство« видимость »неопределенного« – Webhead

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