2015-02-22 2 views
1

Я пытаюсь скрыть/показать разделы страницы, используя следующий скрипт:JQuery переключатель не работает в случае, другое заявление

$(function() { 
    $('.open').on('click', function() { 
     var contentType = $(this).attr('id'); 
     if (contentType == "all") { 
      $('.content-div').show(); 
     } else if (contentType == "train" || "manual") { 
      $('.content-div.' + contentType).show(); 
      $('.content-div:visible:not(.' + contentType + ')').hide(); 
     } else if (contentType == "close") { 
      $('.content-div').hide(); 
     } else { 
      $('.content-div.' + contentType).toggle(); 
     } 
    }); 
}); 

jsfiddle example is here с HTML

Этот вопрос с окончательным line в части else - это работает правильно (показать/скрыть соответствующие div (s) с ассоциированным классом), если вне оператора if-else, но не работает в секции else - div появляется при первом запуске нумерованной кнопки щелчок, но не исчезает при повторном нажатии.

Что я делаю неправильно? Большое спасибо.

ответ

2

Заменить:

} else if (contentType == "train" || "manual") { 

с:

} else if (contentType == "train" || contentType == "manual") { 

"manual" всегда оценивается как true поэтому вся эта else-if отрасль оценивается как true. См. MDN для более подробной информации.

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