使用jQuery,最简单的方法是确定特定元素是否可见?我不是指在当前视口内可见,而是在页面上可见。
理想情况下,如果元素或其任何祖先具有诸如"display:none"或"visibility:hidden"等CSS规则,则函数应返回false。不必担心"overflow:hidden"。
理想情况下,如果元素或其任何祖先具有诸如"display:none"或"visibility:hidden"等CSS规则,则函数应返回false。不必担心"overflow:hidden"。
is
方法的 :visible
选择器。if($('elementSelector').is(':visible')){
//Element is visible
}
is()
方法。$('#element').is(':visible');
$('div:visible');
将返回所有可见的 div
。
此外,值得注意的是 jQuery 1.3.2 的 changelog 中的这一部分:
在 jQuery 1.3.2 中,如果元素的浏览器报告的
offsetWidth
或offsetHeight
大于 0,则该元素是可见的。这意味着,如果您的元素的 CSS 显示为 "none",或任何父/祖先元素的显示为 "none",或者元素的宽度为 0 且元素的高度为 0,则该元素将被报告为隐藏。