Element: checkVisibility() メソッド

Baseline 2024
Newly available

Since March 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

checkVisibility()Element インターフェイスのメソッドで、この要素が可視状態であるかどうかを検査します。

このメソッドは以下のどちらかの場合に false を返します。

  • 例えば CSS の display プロパティが none または contents に設定されている場合のように、要素に関連づけられたボックスがない場合。
  • 要素または祖先要素が content-visibility プロパティを hidden に設定しているため、要素が描画されない場合。

オプションの引数を指定することで、「可視」の意味を他の解釈として検査することができます。 例えば、要素の不透明度が 0 であるかどうか、要素の visibility プロパティの値が不可視であるかどうか、要素 content-visibility プロパティの値が auto であり、現在その描画がスキップされているかどうかを追加で検査することができます。

構文

js
checkVisibility(options)

引数

options 省略可

実行する追加チェックを示すオブジェクト。 可能なオプションは以下の通りです。

contentVisibilityAuto

true を指定すると、要素 content-visibility プロパティに値 auto がある(または継承している)場合に、現在その描画がスキップされているかどうかを調べます。 既定では false です。

opacityProperty

true を指定すると、要素の opacity プロパティが 0 の値である(または継承している)かどうかを調べます。 既定では false です。

visibilityProperty

true を指定すると、visibility プロパティの値によって要素が不可視になっているかどうかを調べます。 既定では false です。

メモ: 不可視の要素には、visibility: hidden が設定された要素や、visibility: collapse が設定された要素が含まれます。

checkOpacity

opacityProperty の過去の別名です。

checkVisibilityCSS

visibilityProperty の過去の別名です。

返値

以下の条件に当てはまる場合は false、当てはまらない場合は true となります。

  • 要素に関連づけられたボックスがない場合。
  • 要素の content-visibility プロパティが hidden の値である(または継承している)場合。
  • opacityProperty(または checkOpacity)が true で、要素 opacity プロパティの値が 0 である(または継承している)場合。
  • visibilityProperty(または checkVisibilityCSS)が true で、visibility プロパティの値によって要素が不可視になっている場合。
  • contentVisibilityAutotrue で、content-visibility プロパティの値が auto の値で(または継承している)、要素の描画がスキップされている場合。

さまざまな CSS で checkVisibility() の検査

次の例では、displaycontent-visibilityvisibilityopacity の各 CSS プロパティのさまざまな値の場合に、checkVisibility() の結果がどのように変化するかを検査することができます。

HTML

この HTML は

次に

 があり、引数にオプションを渡さなかった場合と、別個のオプション値が渡された場合の checkVisibility() の検査の結果を出力するために使用します。
最後には、検査される要素(選択された CSS プロパティ値が適用される要素)があります。

html

可視性を検査する要素

CSS

CSSはテストする要素を強調表示するだけです。

css
#test_element {
  border: solid;
  border-color: blue;
}

JavaScript

下記のコードは、それぞれの