2015-08-05 3 views
-4

Итак, у меня есть этот код:JQuery - если/другое-оператор не работает

$(document).ready(function(){ 
    var case_menu = 0; 
    var case_heading = 0; 
    var case_headerbar = 0; 

    $(".spinner-spin2").click(function(){ 
     if (case_menu == 0){ // initial status 
      $(".menu").addClass("showmenu"); 
      $(".headingwrapper").addClass("extraspace"); 
      $(".logo").removeClass("logo_animation_long"); 
      $(".logo").addClass("logo_animation_short"); 
      $(".logo").addClass("logovisibility"); 
      $(".logo_blackedout").removeClass("blacklogo_animation_short"); 
      $(".logo_blackedout").addClass("blacklogo_animation_long"); 
      $(".logo_blackedout").addClass("blacklogovisibility"); 
      $(".navfooter").removeClass("navfooter_animation_short"); 
      $(".navfooter").addClass("navfooter_animation_long"); 
      $(".navfooter").addClass("navfooter_visibility"); 
      $(".menu .bottom").removeClass("bottom_animation_short"); 
      $(".menu .bottom").addClass("bottom_animation_long"); 
      $(".menu .bottom").addClass("bottomvisibility"); 
      $(".headerbar").addClass("extraspace2"); 
      $(".headerbar").removeClass("header_animation_comein"); 
      $(".headerbar").removeClass("header_animation_goout"); 
      $(".headerbar").addClass("header_animation_spacer"); 
     } else (case_menu == 1){ // status: menu out 
      $(".menu").removeClass("showmenu"); 
      $(".headingwrapper").removeClass("extraspace"); 
      $(".logo_blackedout").removeClass("blacklogo_animation_long"); 
      $(".logo_blackedout").addClass("blacklogo_animation_short"); 
      $(".logo_blackedout").removeClass("blacklogovisibility"); 
      $(".logo").removeClass("logo_animation_short"); 
      $(".logo").addClass("logo_animation_long"); 
      $(".logo").removeClass("logovisibility"); 
      $(".navfooter").removeClass("navfooter_animation_long"); 
      $(".navfooter").addClass("navfooter_animation_short"); 
      $(".navfooter").removeClass("navfooter_visibility"); 
      $(".menu .bottom").removeClass("bottom_animation_long"); 
      $(".menu .bottom").addClass("bottom_animation_short"); 
      $(".menu .bottom").removeClass("bottomvisibility"); 
      $(".headerbar").removeClass("header_animation_comein"); 
      $(".headerbar").removeClass("header_animation_goout"); 
      $(".headerbar").addClass("header_animation_spacer"); 
      $(".headerbar").removeClass("extraspace2"); 
     } else if{ 

     } 
    }); 
}); 

Он включен в мой index.php и должны просто применить некоторые CSS-переходы относительно sidemenu когда меню- нажата кнопка. Все, что он делает, ничего, поэтому я здесь.

Раньше у меня был этот код, который работал отлично:

function logo_handler1() { 
      $(".menu").addClass("showmenu"); 
      $(".headingwrapper").addClass("extraspace"); 
      $(".logo").removeClass("logo_animation_long"); 
      $(".logo").addClass("logo_animation_short"); 
      $(".logo").addClass("logovisibility"); 
      $(".logo_blackedout").removeClass("blacklogo_animation_short"); 
      $(".logo_blackedout").addClass("blacklogo_animation_long"); 
      $(".logo_blackedout").addClass("blacklogovisibility"); 
      $(".navfooter").removeClass("navfooter_animation_short"); 
      $(".navfooter").addClass("navfooter_animation_long"); 
      $(".navfooter").addClass("navfooter_visibility"); 
      $(".menu .bottom").removeClass("bottom_animation_short"); 
      $(".menu .bottom").addClass("bottom_animation_long"); 
      $(".menu .bottom").addClass("bottomvisibility"); 
      $(".headerbar").addClass("extraspace2"); 
      $(".headerbar").removeClass("header_animation_comein"); 
      $(".headerbar").removeClass("header_animation_goout"); 
      $(".headerbar").addClass("header_animation_spacer"); 
      $(".spinner-spin2").one("click", logo_handler2); 
     } 
     function logo_handler2() { 
      $(".menu").removeClass("showmenu"); 
      $(".headingwrapper").removeClass("extraspace"); 
      $(".logo_blackedout").removeClass("blacklogo_animation_long"); 
      $(".logo_blackedout").addClass("blacklogo_animation_short"); 
      $(".logo_blackedout").removeClass("blacklogovisibility"); 
      $(".logo").removeClass("logo_animation_short"); 
      $(".logo").addClass("logo_animation_long"); 
      $(".logo").removeClass("logovisibility"); 
      $(".navfooter").removeClass("navfooter_animation_long"); 
      $(".navfooter").addClass("navfooter_animation_short"); 
      $(".navfooter").removeClass("navfooter_visibility"); 
      $(".menu .bottom").removeClass("bottom_animation_long"); 
      $(".menu .bottom").addClass("bottom_animation_short"); 
      $(".menu .bottom").removeClass("bottomvisibility"); 
      $(".headerbar").removeClass("header_animation_comein"); 
      $(".headerbar").removeClass("header_animation_goout"); 
      $(".headerbar").addClass("header_animation_spacer"); 
      $(".headerbar").removeClass("extraspace2"); 
      $(".spinner-spin2").one("click", logo_handler1); 
     } 
     $(".spinner-spin2").one("click", logo_handler1); 

Это так же, как новый код сделал, но так как я должен обрабатывать больше случаев переходов теперь, я хотел бы превратить это в if-утверждениях, которые должны применять правильный код перехода и переходы в зависимости от ситуации.

Я не вижу ничего плохого в новом коде или просто что-то пропустил ... Можете ли вы помочь?

+6

'else (case_menu == 1)' недействителен. Вам может понадобиться 'else if (case_menu == 1)' – j08691

+0

Вы проверили консоль разработчика на наличие ошибок? – Pointy

+0

изменил это, все еще не работает:/@ j08691 –

ответ

3

изменение

} else (case_menu == 1){ 

к

} else if(case_menu == 1){ 

затем изменить

} else if{ 

к

} else { 
+0

я, все еще нерабочий .. –

+0

@LarsE. вы убедились, что у вас есть все соответствующие фигурные скобки? – AwokeKnowing

+0

@LarsE. вам нужно опубликовать код, который фактически меняет case_menu и другие вары. возможно, есть ошибка, потому что возможно} else if (case_menu == 1) {должно быть действительно} else if (case_menuheader == 1) {или что-то в этом роде – AwokeKnowing

1

Если утверждения (и html/javascript вообще) выполняются линейным образом. Проблема с вашим кодом заключается в проверке первого блока, нахождении его ложным, а затем не распознавании второго блока как действительного кода. Если заявления должны всегда быть в следующем формате:

if (condition) { 
    //initial check 
} else if (condition) { 
    //second check for other condition 
} else if (condition) { 
    //third check, as many of these checks may be added 
} else { 
    //if nothing else, this is what should be done. Think of this as 
    //"default" in a case statement 
} 

else заявление не может иметь аргументы, или прийти до else if заявлений. Они должны быть последними. Вот ваш измененный код:

$(document).ready(function(){ 
var case_menu = 0; 
var case_heading = 0; 
var case_headerbar = 0; 

$(".spinner-spin2").click(function(){ 
    if (case_menu == 0){ // initial status 
     $(".menu").addClass("showmenu"); 
     $(".headingwrapper").addClass("extraspace"); 
     $(".logo").removeClass("logo_animation_long"); 
     $(".logo").addClass("logo_animation_short"); 
     $(".logo").addClass("logovisibility"); 
     $(".logo_blackedout").removeClass("blacklogo_animation_short"); 
     $(".logo_blackedout").addClass("blacklogo_animation_long"); 
     $(".logo_blackedout").addClass("blacklogovisibility"); 
     $(".navfooter").removeClass("navfooter_animation_short"); 
     $(".navfooter").addClass("navfooter_animation_long"); 
     $(".navfooter").addClass("navfooter_visibility"); 
     $(".menu .bottom").removeClass("bottom_animation_short"); 
     $(".menu .bottom").addClass("bottom_animation_long"); 
     $(".menu .bottom").addClass("bottomvisibility"); 
     $(".headerbar").addClass("extraspace2"); 
     $(".headerbar").removeClass("header_animation_comein"); 
     $(".headerbar").removeClass("header_animation_goout"); 
     $(".headerbar").addClass("header_animation_spacer"); 
    } else if (case_menu == 1){ // status: menu out 
     $(".menu").removeClass("showmenu"); 
     $(".headingwrapper").removeClass("extraspace"); 
     $(".logo_blackedout").removeClass("blacklogo_animation_long"); 
     $(".logo_blackedout").addClass("blacklogo_animation_short"); 
     $(".logo_blackedout").removeClass("blacklogovisibility"); 
     $(".logo").removeClass("logo_animation_short"); 
     $(".logo").addClass("logo_animation_long"); 
     $(".logo").removeClass("logovisibility"); 
     $(".navfooter").removeClass("navfooter_animation_long"); 
     $(".navfooter").addClass("navfooter_animation_short"); 
     $(".navfooter").removeClass("navfooter_visibility"); 
     $(".menu .bottom").removeClass("bottom_animation_long"); 
     $(".menu .bottom").addClass("bottom_animation_short"); 
     $(".menu .bottom").removeClass("bottomvisibility"); 
     $(".headerbar").removeClass("header_animation_comein"); 
     $(".headerbar").removeClass("header_animation_goout"); 
     $(".headerbar").addClass("header_animation_spacer"); 
     $(".headerbar").removeClass("extraspace2"); 
    } else { 

    } 
}); 
}); 
-1

Хорошо, после того, как я уже просмотрел мой индекс несколько раз я снова посмотрел и нашел одно место слишком много в связывании на JS. Js на самом деле все было в порядке, я извиняюсь за то, что прослушал вас этим дерьмом. Мне стыдно. У меня был формат, но он изменил его из «отчаяния», чтобы увидеть, работает ли что-нибудь еще. Спасибо всем, тем не менее! :)

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

  • Нет связанных вопросов^_^