【WEB制作】ふんわり表示「ScrollReveal.js」サラリーマン投資家のFIREへの旅路 第73夜
本日は、「要素をふんわり表示する」を実装します!
これ、ほんまに超簡単! 肌感だと、一行書くだけ!
こんなやつね。オシャレサイトでよく見ますよね〜
【ScrollReveal.js】スクロールした時にふんわり表示
このふんわり表示は、このScrollReveal.jsっていうやつを使っていきます。
これは、javaScriptのライブラリというものです。
つまりは、唐揚げ定食です。
1から書くとなると、料理の勉強をして
調味料や、野菜、鶏肉、お米を準備して、調理して
お皿を用意して、盛付けて、やっといただきます!ですが、
javaScriptのライブラリを使えば、
「唐揚げ定食ください」で、すぐに食べれます。
これがライブラリです。
以前に書いたnoteで解説していますが、
「車輪の再発明」はしてはいけない!
【使い方 1 】 ScrollReveal.js
まず、ScrollReveal.jsはここらダウンロードします。
こんな感じで、コピーします。
<script src="https://unpkg.com/scrollreveal"></script>
そして、この辺に貼り付け! htmlファイルの、<head> </head>の中です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>S.A.P.design</title>
<link rel="stylesheet" href="css/style.css">
<script src="https://unpkg.com/scrollreveal"></script>
</head>
これで、ScrollReveal.jsが使えます。
つまりは、「https://unpkg.com/scrollreveal」⇦ここに、
ScrollReveal.jsの難しいコードが、置いてあって、そこから
うちのhtmlファイルにそのコードを持ってきちゃってください!ってこと。
感謝の気持ちを持って使わせていただきましょうね。
これの仕組みを CDN っていうから、覚えとくとググるとき楽!
【使い方 2】 JavaScriptを書く(コピペする)
下のコードをコピペする!<script> </script>の中身ね!
<script>
//ふわっと表示
ScrollReveal().reveal('.scrollReveal',{
duration: 2000, // アニメーションの時間
viewFactor: 0.2, // 0~1,どれくらい見えたら実行するか
reset: false, // アニメーションを繰り返すか
distance: '50%', //表示された時に要素が移動する距離
scale: 1, //表示される前の要素のサイズ
delay: 500, //アニメーションが実行されるまでの時間
interval: 800, //各アニメーションの間隔
opacity: 0, //表示される前の不透明度
origin: 'bottom',//要素がどの方向から来るか
mobile:true //スマホで有効か
});
</script>
</body>
</html>
貼り付ける場所は、</body> タグの上あたり、つまり、htmlファイルの
一番下あたり。
<script> </script>で囲うことで、JavaScriptのコードなんだなと
認識してくれるのです!
で、
このコードの一行目
ScrollReveal().reveal('.scrollReveal',{ ・・・・
「.scrollReveal」の部分は、class名です。
このclass名がついている要素に対して、ふんわり表示をさせてね!
という意味。
このclass名は自分で好きなものをつければOKです!
【使い方 3】 ふんわり表示させたい要素に、classをつける
ふんわり表示をさせたい箇所は、「About」っていう文字と
その下の、画像と、
その横の、文章でした。
ここね↓
<!--About---------------------------------------------->
<section class="about">
<h1 class="scrollReveal">About</h1>
<div class="about-container scrollReveal">
<img src="img/about-img.jpg" alt="about-img">
<p>abcdefgabcdefgabcdefgabcdefgabcdefg</p>
</div>
</section>
「About」の部分は、このコード
<h1 class="scrollReveal"> About </h1>
下の画像と、その横の文章(abcdefgabcdefgabcdefgabcdefgabcdefg)は、
このコード
<div class="about-container scrollReveal">
<img src="img/about-img.jpg" alt="about-img">
<p>abcdefgabcdefgabcdefgabcdefgabcdefg</p>
</div>
こんな感じで、<h1>に、「scrollReveal」と、class名をつけています
なので、さっきのJavaScriptのコードが、それを検知!
あの<h1>を、ふんわり表示させろ!と、命令を出してくれるわけですね!
ありがたいな〜!!
画像と、文章は、それも囲む<div>にclass名が付けられていますので、
その<div>ごと、ふんわり表示となるわけです!
この先は、htmlでコードを書いていき、ふんわり表示をさせたい要素が
出てきたら、
「class = "scrollReveal"」を書くだけ!!
【使い方 4】 ふんわり表示のカスタマイズ
↓これももう一度見てね。
<script>
//ふわっと表示
ScrollReveal().reveal('.scrollReveal',{
duration: 2000, // アニメーションの時間
viewFactor: 0.2, // 0~1,どれくらい見えたら実行するか
reset: false, // アニメーションを繰り返すか
distance: '50%', //表示された時に要素が移動する距離
scale: 1, //表示される前の要素のサイズ
delay: 500, //アニメーションが実行されるまでの時間
interval: 800, //各アニメーションの間隔
opacity: 0, //表示される前の不透明度
origin: 'bottom',//要素がどの方向から来るか
mobile:true //スマホで有効か
});
</script>
</body>
</html>
duration: 2000, // アニメーションの時間
viewFactor: 0.2, // 0~1,どれくらい見えたら実行するか
reset: false, // アニメーションを繰り返すか
distance: '50%', //表示された時に要素が移動する距離
scale: 1, //表示される前の要素のサイズ
delay: 500, //アニメーションが実行されるまでの時間
interval: 800, //各アニメーションの間隔
opacity: 0, //表示される前の不透明度
origin: 'bottom',//要素がどの方向から来るか
mobile:true //スマホで有効か
このあたりを、イジってみよう!!
書いてある通りで、durationでアニメーションが
完了する時間を長くすれば、ふんわり具合がゆっくりになる。
originで、ふわっと出てくるスタート地点を指定できる。
下からなら、bottom
上からなら、top
CSSと同じだね!
distanceの%を大きくすれば、めちゃめちゃ下から現れたりする。
scaleの数値は1を基準とするので、2とかにすると、大きな文字が画面に
出てきて、通常のサイズに戻るっていうアニメーションになる!
とにかく、色々いじってみて、理想のアニメーションを作ってみるのが
楽しいですね〜!
詳しくは、もっと素晴らしい方々の教えを、ググるのだ!(他力本願がモットーです)
【まとめ】
流れはこうです。
<h1 class="scrollReveal"> ふわっと表示 </h1>
<div class = "scrollReveal"> ・・・・</div> とかね!
このclass名は、自由につけてください!
これで、こうなる はず!
はい、手順通りやっても
思い通りにいかないのは、プログミング、マークアップです。
だからこそ、
イメージしたおりに、動いた時に、喜びがあるわけです!
つまり、プログラミング、マークアップは
ダクソです。死にゲーです!
絶対倒せへんやん!ゲール爺強すぎやろ!!ってなっても、
レベルを上げて、ステ振りし、装備を変えたり、工夫をしながら
幾度となく、挑むことで、勝てる!!
あの、勝った瞬間!の、感動と似てますな。
エルデンリングが22年1月発売とのことで、エヴァが完結し生きる意味を
見出せなかった、私の生きる意味が、できました。。。
楽しみすぎる。
話がそれましたが、
プログラミング、マークアップ
引き続き楽しんでまいります!
この記事が気に入ったらサポートをしてみませんか?