要素が人間に見える場合、次のすべてに該当する必要があります。
jQuery(elem).is(':visible')
戻りますtrue
。jQuery 1.3.2 以降では、ブラウザーから報告された offsetWidth または offsetHeight が 0 より大きい場合、要素は表示されます。visibility
スタイルはありませんhidden
。opacity
スタイルはありません0
。
ただし、これらはすべてのケースをカバーしているわけではありません。たとえば、私が考えることができる 1 つの簡単なケースは、要素がその祖先の可視領域の 1 つの外にあり、その祖先に styleoverflow: hidden
がある場合、要素は表示されないということです。
既存のサンプル/jQuery プラグインなど。可能性のほとんど(すべてではないにしても)をカバーしますか?