如果一个元素可以被人类看到,那么以下所有条件都必须为真:
jQuery(elem).is(':visible')
返回true
。在 jQuery 1.3.2+ 中,如果浏览器报告的 offsetWidth 或 offsetHeight 大于 0,则元素可见。visibility
风格不行hidden
。opacity
风格不行0
。
但是,这些并不涵盖所有情况。例如,我能想到的一个简单情况是,如果一个元素落在其祖先之一的可见区域之外并且该祖先具有 style overflow: hidden
,则该元素将无法被看到。
任何现有的示例/jQuery 插件/等。涵盖大部分(如果不是全部)可能性?