У меня есть кнопка, чтобы переключиться, является ли ссылочный div видимым или нет.Первоначально я использовал код:
$('#search-options-btn').click(function() {
if ($('#search-options').is('.hidden')) {
$('#search-options').removeClass('hidden');
} else {
$('#search-options').addClass('hidden');
}
});
Однако, пытаясь найти более чистый код, я наткнулся на метод jQuery toggle()
, который согласно API имеет реализацию метода
.toggle( showOrHide )
showOrHide: A Boolean indicating whether to show or hide the elements.
Это описание заставляет меня поверить, что это сокращенный метод реализации для отображения или скрытия путем передачи идентификатора ...?showOrHide
в метод toggle()
.
Конечно, попытка этого:
$('#search-options-btn').click(function() {
$('#search-options').toggle(showOrHide);
});
приводит к ошибке в моей консоли firebug:
showOrHide is not defined
[Break On This Error] $('#search-options').toggle(showOrHide);
I 'мы также пытались определить showOrHide
как логическое значение, инициализированное false
;ошибка исчезает, но проблема не устранена.
Согласно онлайн-API jQuery, это должно быть эквивалентно
if ( showOrHide == true ) {
$('#foo').show();
} else if ( showOrHide == false ) {
$('#foo').hide();
}
, если только я полностью не пропустил, как это работает.Может кто-нибудь рассказать мне о том, что я здесь делаю неправильно?Мне не удалось найти аналогичную реализацию.