今回はこのブログで利用している「画像をふわっとフェードインさせるJavaScript」を紹介します(このページでも使われています)。
現状WordPressでは何もしなくても勝手に画像は遅延読み込みされており、読み込み速度を上げるためだけなら特段何もする必要は無いのですが、「ふわっとフェードインさせたい!」という欲求はあるかもしれません。今回はその欲求を満たすスクリプトを紹介します。
この効果がユーザーエクスペリエンスを向上させることは決してないと思いますが、ブログを運営していると運営者自身が状況に飽きるということがあると思いますので、その飽きを解消する効果はあるかもしれません(私も実際使っています)。
つまり、「遅延読み込みの効果は無いがフェードインの効果はあるスクリプト」ということになります。
また、この手のスクリプトは「jQuery」に依存している場合が多いですが、個人的にできるだけ依存したくないものが欲しかったので、そういった事をChatGPTとお話しながら作ったものです。
フェードインしない画像を指定するスクリプト

基本的には上のスクリプトを「</body>」上に貼り付けてもらえれば動作します。
ブログのロゴなどフェードインさせたくない画像は
img:not(#main-image img):not(#site-info img)
で調整してください。上の例ではトップページに表示されているアイキャッチとすべてのページに表示されている「シフルインサイト」のロゴのフェードインを除外しています。それぞれの画像が、
<div id="main-image">
<img =" ">
</div>
<div id="site-info">
<span class="tn-logo-size"><img =" "></span>
</div>
という感じで並んでいるので、それぞれの画像が入っている「<div>」のidを指定して除外しています。同じ要領で続けていけばフェードインさせたくない画像をいくらでも増やすことができます。
また、
translateY(0px)
の部分では下からの移動を制御しています。このブログでは下からの移動はいらないと考えたので「translateY(0px)」としていますが、例えば「translateY(10px)」とすれば、画像が表示領域に入ったときに10px下から上がりつつふわっとフェードインしてくれるようになります。
また、下からではなく横からフェードインさせたい場合は「translateY」を「translateX」に変更すれば実現できます(「translateY」の記述は二箇所ありますのでどちらも変更してください)。
opacity 0.5s ease-out, transform 0.6s ease-out
については「opacity 0.5s」でフェードインする時間、「transform 0.6s」で下から上がってくる時間を制御しています。ここの秒数をいじることでタイムングを変更することが出来ます。
フェードインする画像を指定するスクリプト

最初に紹介したスクリプトでは「フェードインさせない画像を指定」する方法でしたが、むしろ特定のクラスを指定したい場合も多いと思います。下にあるJavaScriptはクラスを指定してふわっとフェードインさせるものです。
スクリプトの3行目にある「fade-in-img」と「highlighted-img」を自分が指定したクラスに変更してください。数はいくらでも増やせます。
それ以外の部分は前のスクリプトと同じように変更していただければと思います。
この記事を書いた人
最新記事

- 2025年4月28日
【君たちはどう生きるか】冷たい8個の石と13個の石は何を意味するのか-「8」と「13」の数字に込められた思いを考察- - 2025年4月23日
【君たちはどう生きるか】大量のインコとペリカンは何を意味するのか-大王が象徴する宮崎駿と「俺達」- - 2025年4月15日
【シン・仮面ライダー】オーグメントの絶望の謎と「アイ」が隠した本当の戦略-本郷猛は何故勝利して良いのか- - 2025年3月25日
【侍タイムスリッパー】あらすじとその考察-椿三十郎の呪を打ち破る「究極の殺陣」- - 2025年3月2日
「機動戦士Gundam GQuuuuuuX Beginning」を見た感想と考察ーテム・レイの正しさとレビル将軍の行方ー