Пользовательский интерфейс jQuery - функция подкачки, которая скрывает и не показывает элементы с помощью селектора
-
03-07-2019 - |
Вопрос
Предисловие:У меня есть jQuery и пользовательский интерфейс jQuery, включенные на страницу.
У меня есть определенная эта функция:
function swap(sel) {
if (1 == 1) {
$(sel).hide('drop',{direction:'left'});
}
}
Как мне исправить часть (1 == 1) для проверки, чтобы увидеть, скрыт ли элемент уже, а затем вернуть его обратно, если это так.Я уверен, что это легко, но я новичок в jQuery.
Решение
если тебе не нравится toggle
, тогда это может вам помочь:
function swap(sel) {
if($(sel).is(':visible')) {
$(sel).hide('drop',{direction:'left'});
} else {
$(sel).show('drop',{direction:'left'});
}
}
Другие советы
Возможно $(sel).toggle();
это то, что вы ищете?Это лучший способ переключить видимость элемента.
Как сказали другие ответчики, toggle()
это лучшее решение.Однако, если по какой-то причине вы не можете / не хотите использовать toggle, и если ваш селектор предназначен только для одного элемента:
function swap(sel) {
if ($(sel).is(':visible')) { // Is this element visible?
$(sel).hide('drop',{direction:'left'});
}
}
Предостережение: Проверка :visible вернет ложноположительный результат, если элемент или любой из его родительских элементов :hidden
.Если это важно для вас, возможно, вы захотите ознакомьтесь с этим решением который также пытается проверить наличие чего-либо из этого.