今回の記事の内容
文字をクリックしたら消えていた文字がフェードインする方法
文字をクリックしたら別の文字がフェードアウトしていく方法
文字要素をフェードイン jQuery
まずはコードの下準備として
<!DOCTYPE html> <html> <head> <title>Parcel Sandbox</title> <meta charset="UTF-8" /> <link rel="stylesheet" href="style.css" /> <script src="https://code.jquery.com/jquery-3.4.1.js"></script> </head> <body> <div id="txt" class="txt">Hello</div> <div id="fadeIn_txt" class="fadeIn_txt" style="display: none;">World!</div> <script src="src/index.js"></script> </body> </html>
Worldはstyle='display:none' で消しているので、ブラウザ上はHelloの文字が表示されています
fadeIn() 基本構文
HTML要素.fadeIn( 時間 );
時間は省略可なので、.fadeIn()と、書くことができます
$(function () { $(".txt").click(function () { $(".fadeIn_txt").fadeIn("slow"); }); });
このように記述することで、「Hello」をクリック
→「World」が、ゆっくり(slow)でフェードインしてきます
3秒かけて表示させたい場合は3000(ミリ秒)として、.fadeIn(3000)と書きます
slowは600ミリ秒、fastが200ミリ秒の設定になっています
文字要素をフェードイン JavaScript
document.getElementById("txt").addEventListener("click", () => { const uptxt = document.getElementById("fadeIn_txt"); uptxt.style.display = "block"; });
ある程度javascriptを触ったことのある人だったら説明は不要だと思いますが、
txtを取得→クリックイベントを作成
⇨fadeIn_txtを取得→uptxtに代入
⇨uptxtにstyleを当てています
これを見たらわかる人がいると思うのですが、このコードではフェードインはしません^^;
display='block'でdisplay='none'を上書きしているだけなのでじんわりではなく、パッと表示されます
アニメーションみたいなプロパティを当てれば良いのですが、自分のスキルではこの書き方が限界でした...
もっと勉強します_φ(・_・!!
文字要素をフェードアウト jQuery
<!DOCTYPE html> <html> <head> <title>Parcel Sandbox</title> <meta charset="UTF-8" /> <link rel="stylesheet" href="style.css" /> <script src="https://code.jquery.com/jquery-3.4.1.js"></script> </head> <body> <div id="txt" class="txt">Hello</div> <div id="fadeOut_txt" class="fadeOut_txt">World!</div> <script src="src/index.js"></script> </body> </html>
今度はフェードアウトです
現在ブラウザでは『Hello』と『World!』の文字が表示されている状態です
javascriptのイベントのコードを書いて『World!』をフェードアウトしてみます
書き方はfadeIn()メソッドと同じでfadeIn→fadeOutに書き換えるだけです
$(function () { $(".txt").click(function () { $(".fadeOut_txt").fadeOut("slow"); }); });
文字要素をフェードアウト JavaScript
document.getElementById("txt").addEventListener("click", () => { const outtxt = document.getElementById("fadeOut_txt"); outtxt.style.display = "none"; });
これもフェードイン同様パッと消えてしまいます( ;∀;)
今回のコードを書くにあたって参考にした書籍を紹介します
以下の3冊はすごくおすすめです!