我使用普通 JavaScript 有以下 DOM 元素更改函數,其中我使用頁面加載事件更改包含 DOM 的某些文字字串的 span 元素。
使用以下程式碼,DOM 元素將按預期更改。但是,在變數 desktop 和 mobile 的 DOM 元素更改之前,他們仍然會看到最小部分的閃爍。
desktop
mobile
它閃爍的原因有很多,但您可以採取兩個預防措施:
<script defer>
defer
DOMContentLoaded
changes
無論如何,您都需要等到 DOM 載入完畢後才能對其進行操作。使用 DOMContentLoaded 的偶數偵聽器將是可行的方法。因此,需要發生三件事:
visibility:hidden
display:none
它閃爍的原因有很多,但您可以採取兩個預防措施:
<script defer>
上使用defer
,因為這可以讓瀏覽器處理腳本的執行順序,而不是使用DOMContentLoaded
。您還可以避免changes
包裝函數。無論如何,您都需要等到 DOM 載入完畢後才能對其進行操作。使用
DOMContentLoaded
的偶數偵聽器將是可行的方法。因此,需要發生三件事:visibility:hidden
或display:none
。不同之處在於%