У меня есть тумблер с этого сайта CSS Toggle на одной из моих страниц, и я пытаюсь скрыть его и показать поле select2, как переключатель.jQuery, выполняющий оба условия при событии click
Так на Документе Готов ли скрыть вторичную коробку, так как она не нужна, то логика для тумблера:
$("#s2id_author-search").hide();
$("#searchSwitch_btn").click(function(){
if($("#s2id_author-search").css('display') === 'none') {
console.log("Showing author search: 1");
$("#s2id_author-search").show();
console.log("Hiding title search: 2");
$("#s2id_title-search").hide();
}
else {
$("#s2id_author-search").hide();
console.log("Hiding author search: 3");
$("#s2id_title-search").show();
console.log("Showing title search: 4");
}
});
При нажатии на переключатель, глядя на FireBug консоли, я могу видеть все Сообщения console.log, показывающие, что скрипт выполняется целиком, а не только один или другие параметры.
P.S. Я знаю, что использование команды toggle() в jQuery более эффективно, но вот как теперь код предназначен для устранения неполадок.
Любые идеи?
У вас должен быть другой JS, конфликтующий с ним. Он отлично работает в этой скрипке http://jsfiddle.net/kevinPHPkevin/GyL6a/ – Vector
Он связан дважды. Выясните, почему он связан дважды, и вы получите ответ. Учитывая то, что вы предоставили, мы не можем это понять. –
Кроме того, команда * "toggle() в jQuery" *, о которой вы говорите, фактически не существует в текущих версиях jQuery, поэтому предпочтительнее (в основном). Вы можете уменьшить часть обработчика вашего кода до одной строки: '$ (" # s2id_title-search, # s2id_author-search "). Toggle()' вместо того, чтобы иметь этот оператор if. –