1. ASHIRIのふろんとあれ、なんだっけぇ
  2. なんだっけぇ一覧
  3. javascript
  4. CSSとjavaScriptの読込みズレによる、崩れた要素が一瞬表示対策

CSSとjavaScriptの読込みズレによる、崩れた要素が一瞬表示対策

CATEGORY : javascript
CSSとjavaScriptの読込みズレによる、崩れた要素が一瞬表示対策 CSSとjavaScriptの読込みズレによる、崩れた要素が一瞬表示対策
サイトやページを開いた時に、CSSとjavaScriptの読み込みにズレが生じるため、一瞬表示される。
それだけなら未だしも、一瞬崩れて表示されて不快な経験された事はありませんか?
今回は、素のjavascriptでの解決方法とjQueryでの解決方法の2つの実装を紹介させていただきます。
目次

    ページ読み込み時に一瞬表示が崩れるのなぜ?

    CSSとjavaScriptの読み込みについては、冒頭でお伝えしましたが、それ以外の原因は以下の理由が考えられます。

    • CSSのアニメーションを組み合わせている

    • ファーストビューにて、displayを使って、表示非表示を切り替えている。

    • サイトで読み込んだ共存すべきCDNやプラグイン等が重く、読み込み速度の外的要因となる。

    それではどのような処理をすれば、上記問題を解決できるか、
    jQueryによる解決方法と素のjavaScriptによる解決方法の2つを紹介させていただきます。

     

    jQueryによる解決方法

    始めに、表示が崩れる原因となる要素を、display:none;にて非表示にします。

    
    #sample {
      display:none;
    }
    

     

    fadeInメソッドにてフェードイン表示をします。

    
    
    

     

    こうすることで崩れてしまっている要素を非表示としておいて、要素が整ったあとにfadeInメソッドが発動の流れとなります。また、パッとうつるのではなく、フェードして良い感じにします。jQueryだと非常にシンプルですね。

     

    javaScriptによる解決方法

    始めに、表示が崩れる原因となる要素を、display:none;にて非表示にします。jQueryと同じですね

    
    #sample {
      display:none;
    }
    

     

    jQueryと違い、javaScriptは少々記述が混み合います。

    
    
    

     

    崩れてしまっている要素をCSSで非表示にしておきます。さらにJSで透過にし、フェードインのアニメーションを設定します。その後、非表示から表示にきりかえ、1秒かけてトランスフェード処理が実行され、要素が整ったあとに表示される流れです。
    こちらもjQueryと同じ、パッとうつるのではなく、フェードして良い感じにします。

     

    まとめ

    いかがでしたでしょうか。今回はサイトやページ読込時に、CSSとjavaScriptの読み込みズレによる崩れた要素が一瞬表示されてしまう対策方法について、紹介させていただきました。

     

    jQueryであれば、簡素化した記述でシンプルに処理ができるので、通常のWEBサイトであれば、jQueryでよいかなと思います。しかし、ウェブアプリケーションに動的な効果を追加するなどの場合は、生のjavaScriptによる対処が必要になりますね。通常のWEBサイトに、jQueryかjavaScriptどちらを使用するか、人それぞれかと思います。しかし、今後も脱jQueryが進んでいく流れより、jQueryからスタートされている方は、多少なり、javaScript寄りな知識を身につけていくことも大事かもしれません。
    (私はまだまだショートカットjQuery多様派でありますが)

    以上となります。できる限りわかりやすく伝えようとしても書くのは難しいです。
    コードや記事の書き方について気になるところがあれば、アドバイスいただけると嬉しいです。

     

    CSSとjavaScriptの読込みズレによる、崩れた要素が一瞬表示対策
    CATEGORY : javascript

    アシリソリューション

    アシリソリューション

    アシリ・ソリューション

    要件定義からブラッシュアップ/実装運用まで一貫して担当。また内部対策を中心に、GTM・GA4・Looker Studioと分析・改善案の策定も進めています。北緯43度マルチエンジニア

    最近のなんだっけぇ

    1. 【javascript基礎】自動見積フォームの仕組みを理解する

      【javascript基礎】自動見積フォームの仕組みを理解する

    2. 【Node基礎】APIエンドポイントの保護を理解する

      【Node基礎】APIエンドポイントの保護を理解する

    3. 【Node基礎】RESTful API を理解する

      【Node基礎】RESTful API を理解する

    4. 【Vue基礎】Vue Routerのネストを理解する

      【Vue基礎】Vue Routerのネストを理解する

    5. 【Vue基礎】v-onディレクティブを理解する

      【Vue基礎】v-onディレクティブを理解する

    6. 【Vue基礎】v-modelディレクティブを理解する

      【Vue基礎】v-modelディレクティブを理解する

    1. API
    2. computed
    3. css
    4. ECMA
    5. javascript
    6. jquery
    7. Node
    8. php
    9. reactive
    10. reduce メソッド
    11. ref
    12. sass
    13. SSH
    14. v-bind
    15. v-on
    16. Vue
    17. Vディレクティブ
    18. wordpress
    19. セキュリティ対策
    20. 入れ子
    21. 繰り返し処理
    22. 関数