如何检查元素是否一次隐藏。即如何通知元素的可见性。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