Jquery проверить, скрыт ли элемент (постоянно) - PullRequest
3 голосов
/ 25 июля 2010

Как проверить, скрыт ли элемент сразу.то есть как уведомить видимость элемента.

В моем случае элемент скрыт функцией slideUp.Сразу же я должен быть уведомлен о видимости этого элемента.

У меня появилась идея использовать метод bind().Но у него нет onHide подобного события.Так как же получить это?любые предложения будут полезны!

РЕДАКТИРОВАТЬ:

Я знаю, что можно использовать is(':hidden'), но я хочу проверять постоянно, как addEventListener

Ответы [ 2 ]

7 голосов
/ 25 июля 2010
if($('#selector').is(':visible')){
   //is visible
}else{
  //is NOT visible threfore is hidden
}

РЕДАКТИРОВАТЬ , если этого не существует, вам придется проверить непрозрачность / свойство фильтра

, поэтому

if($('#selector').css('opacity')!=0){
       //is visible//or partially visible//depends on opacity
    }else{
      //is NOT visible threfore is hidden
    }

также проверьтекросс-браузер opacity

РЕДАКТИРОВАТЬ 2

function checkVisibility(){
   //put the visibility checker here
   setTimeout('checkVisibility',1000)//every 1 second...
}

примечание: подобные повторения МОГУТ замедлять работу браузера

0 голосов
/ 25 июля 2010

Вы можете использовать обратный вызов slideUp, чтобы сразу узнать, когда элемент скрыт:

function theElementIsHidden()
{
    //What to do when the slideUp animation (element hidden) is completed...
}

$("#element").slideUp(200, function(){theElementIsHidden();}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...