Пользовательский интерфейс jQuery - функция подкачки, которая скрывает и не показывает элементы с помощью селектора

StackOverflow https://stackoverflow.com/questions/401056

  •  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'});
  }
}

Другие советы

Почему вы не используете переключить() ?

Например:

function swap(sel) {
  $(sel).toggle();
} 

Возможно $(sel).toggle(); это то, что вы ищете?Это лучший способ переключить видимость элемента.

Как сказали другие ответчики, toggle() это лучшее решение.Однако, если по какой-то причине вы не можете / не хотите использовать toggle, и если ваш селектор предназначен только для одного элемента:

function swap(sel) {
    if ($(sel).is(':visible')) {  // Is this element visible?
       $(sel).hide('drop',{direction:'left'});
    }
}

Предостережение: Проверка :visible вернет ложноположительный результат, если элемент или любой из его родительских элементов :hidden.Если это важно для вас, возможно, вы захотите ознакомьтесь с этим решением который также пытается проверить наличие чего-либо из этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top