如何檢查元素是否一次隱藏。即如何通知元素的可見性。jquery檢查元素是否被隱藏(連續)
在我的情況下,通過slideUp
函數隱藏元素。我應該立刻通知該元素的可見性。
我得到了使用bind()
方法的想法。但它沒有像事件那樣的onHide
。那麼如何得到這樣的?任何建議都會有所幫助!
編輯:
我知道這是可能使用is(':hidden')
,但我想檢查不斷像addEventListener
如何檢查元素是否一次隱藏。即如何通知元素的可見性。jquery檢查元素是否被隱藏(連續)
在我的情況下,通過slideUp
函數隱藏元素。我應該立刻通知該元素的可見性。
我得到了使用bind()
方法的想法。但它沒有像事件那樣的onHide
。那麼如何得到這樣的?任何建議都會有所幫助!
編輯:
我知道這是可能使用is(':hidden')
,但我想檢查不斷像addEventListener
if($('#selector').is(':visible')){
//is visible
}else{
//is NOT visible threfore is hidden
}
編輯 如果不存在 ,那麼你將不得不檢查不透明度/過濾器屬性
so
if($('#selector').css('opacity')!=0){
//is visible//or partially visible//depends on opacity
}else{
//is NOT visible threfore is hidden
}
也請務必檢查不透明度的跨瀏覽器
EDIT 2
function checkVisibility(){
//put the visibility checker here
setTimeout('checkVisibility',1000)//every 1 second...
}
注:類似這樣的重複可能會在瀏覽器變慢
你可以使用效果基本show的回調立即知道元素是何時隱藏的:
function theElementIsHidden()
{
//What to do when the slideUp animation (element hidden) is completed...
}
$("#element").slideUp(200, function(){theElementIsHidden();}
是的,這是好的,但我想不斷檢查它..如何檢查它? – 2010-07-25 15:49:50
使用setInterval或setTimeout ...檢查在一分鐘內編輯2 – Val 2010-07-25 15:51:08
不要傳遞字符串,像這樣:'setTimeout(checkVisibility,1000)'/ – Cipi 2010-07-25 15:58:53