プレーンな JavaScript を使用した次の DOM 要素変更関数があります。この関数では、ページ読み込みイベントを使用して、DOM のテキスト文字列を含む Span 要素を変更します。
次のコードでは、DOM 要素が期待どおりに変更されます。ただし、変数 desktop と mobile では、DOM 要素が変更される前に、ちらつきの 最小部分 が表示されます。
desktop
mobile
ちらつく理由はたくさんありますが、予防策が 2 つあります。
<script defer>
defer
DOMContentLoaded
changes
いずれの場合も、DOM を操作するには、DOM がロードされるまで待つ必要があります。 DOMContentLoaded で偶数リスナーを使用するのが最善の方法です。したがって、次の 3 つのことが起こる必要があります:
visibility:hidden
display:none
ちらつく理由はたくさんありますが、予防策が 2 つあります。
<script defer>
でdefer
を使用します。これにより、ブラウザはDOMContentLoaded
を使用する代わりにスクリプトの実行順序を処理できるようになります。changes
ラッパー関数を回避することもできます。いずれの場合も、DOM を操作するには、DOM がロードされるまで待つ必要があります。
DOMContentLoaded
で偶数リスナーを使用するのが最善の方法です。したがって、次の 3 つのことが起こる必要があります:visibility:hidden
またはdisplay:none
を使用できます。違いは、