jQuery UI - функция подкачки, которая скрывает и отображает элементы с помощью селектора - PullRequest
0 голосов
/ 30 декабря 2008

Предисловие: у меня на странице есть пользовательский интерфейс jQuery и jQuery.

У меня определена эта функция:

    function swap(sel) {
        if (1 == 1) {
           $(sel).hide('drop',{direction:'left'});
        }
    }

Как исправить часть (1 == 1), чтобы проверить, скрыт ли элемент, и вернуть его, если он есть. Я уверен, что это легко, но я новичок в jQuery.

Ответы [ 4 ]

3 голосов
/ 30 декабря 2008

если вам не нравится toggle, тогда это может вам помочь:

function swap(sel) {
  if($(sel).is(':visible')) {
    $(sel).hide('drop',{direction:'left'});
  } else {
    $(sel).show('drop',{direction:'left'});
  }
}
2 голосов
/ 30 декабря 2008

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

2 голосов
/ 30 декабря 2008

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

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

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

2 голосов
/ 30 декабря 2008

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

Например:

function swap(sel) {
  $(sel).toggle();
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...