Javascript 如何检查元素在Zepto中是否可见
不支持的Javascript 如何检查元素在Zepto中是否可见,javascript,zepto,Javascript,Zepto,不支持的.is(':visible')技术 那么如何检查元素是否可见呢 .css('display') === 'block' 或者,正如minitech建议的那样: .css('display') !== 'hidden' 如果您真的需要使用这些伪选择器,您可以随时使用。我从未使用过Zepto,但是: .css('display') !== 'none' 可能会有用 我对Zepto不太熟悉,但我认为您可以使用基本JavaScript进行某种形式的检测: function isVis(el
.is(':visible')
技术
那么如何检查元素是否可见呢
.css('display') === 'block'
或者,正如minitech建议的那样:
.css('display') !== 'hidden'
如果您真的需要使用这些伪选择器,您可以随时使用。我从未使用过Zepto,但是:
.css('display') !== 'none'
可能会有用 我对Zepto不太熟悉,但我认为您可以使用基本JavaScript进行某种形式的检测:
function isVis(ele) {
if(ele.css('display')!='none' && ele.css('visibility')!='hidden' && ele.height()>0) {
return(true);
} else {
return(false);
}
}
然后在使用中:
var div=$('#div_id');
if(isVis(div)) {
// Element is visible
} else {
// Element in not visible
}
Zepto有一些官方扩展。您可以包括选择器模块以启用
.is(':hidden')
:隐藏。不可见元素具有display=none
notdisplay=hidden
请注意,block
不是唯一可能的可见显示类型。有内联
,内联块
,表格
,表格行
,表格单元格
。。。你明白了。@minitech关于显示类型是正确的。作为黑客,我认为这可能是最好的解决方案。问题不在于元素是否隐藏。如果元素设置为可见性:hidden
,该怎么办?@minitech Nice/谢谢-我想应该是它。我不确定Zepto是否有其他内置方式。如果您查看其.toggle()
方法的源代码,Bonzo()基本上也会做类似的事情。它检查本机el.style.display!='“无”
和“是否有宽度或高度”。@Jamie”元素的可见性为隐藏的或不透明度为0的视为可见,因为它们仍然在布局中消耗空间”,根据