あなたへのおすすめを表示
目標#
ランダムでおすすめコンテンツを表示しよう!

サンプルコード#
1.HTMLのコードを、Glitchの index.html に追加しよう!#
<div class="recommend"> <p>ボタンを押したらおすすめの音楽が出てくるよ!</p> <a class="btn animoButtonOverlay" id="recommend_music">Check!!</a> <div id="recommend_contents"> <p>おすすめは...</p> <h2 id="recommend_music_txt"></h2> <img id="recommend_music_img" /> </div></div>2.CSSのコードを、Glitchの style.css に追加しよう!#
.btn { display: inline-block; padding: 10px 15px; line-height: 20px; cursor: pointer; border-radius: 4px; text-decoration: none;}
.recommend { text-align: center;}#recommend_contents { display: none;}
#recommend_contents h2 { margin-top: 10px; color: orangered; font-weight: bold;}
#recommend_contents p { margin-top: 30px; color: orangered; font-weight: bold;}.recommend img { width: 400px; height: 300px;}3.画像のURLをゲットしよう!#
こちらのサイトを参考にして、画像のURLをゲットしよう!
4.JavaScriptのコードを、Glitchの script.js に追加しよう!#
function tellRecommend() { let fortune_num = Math.floor(Math.random() * 4)
let resultText, resultImg // (TRY) もし、fortune_num が 0なら... if (fortune_num === 0) { resultText = "Happy Birthday" resultImg = "./imgs/party.jpg" } else if (fortune_num === 1) { resultText = "Make you happy" resultImg = "./imgs/party2.jpg" } else if (fortune_num === 2) { resultText = "Chopstick" resultImg = "./imgs/chopstick.jpg" } else { resultText = "Take a picture" resultImg = "./imgs/takeapicture.jpg" }
document .getElementById("recommend_music_img") .setAttribute("src", resultImg) document.getElementById("recommend_music_txt").textContent = resultText}
let recommend_btn = document.getElementById("recommend_music")recommend_btn.onclick = () => { tellRecommend() document.getElementById("recommend_contents").style.display = "block"}表示したい内容が、画像のみの場合はresultImgのみ、文章だけの場合はresultTextのみ使えばOKs
5. (TRY!) と書いてある箇所を書き換えて、コードを完成させよう!#
チャレンジ#
今回は、ランダムでおすすめを表示しましたが、条件を変えればいろんなことに使うことができます! 例えば、ボタンを押した時の時間が、午前中だったら〇〇を表示、午後だったら△△を表示、みたいに!
腕試しにやってみましょう!HTML, CSSはすでにあるもので大丈夫。ヒントは、前半の授業でやった「時間の取得」のところです!
ヒント#
- 時間の取得は、以下のコードでできます。変数 time が、 0以上12未満のとき 〇〇 を表示、 12以上のとき △△ を表示、となるように条件を指定すれば良さそうですね!
let today = new Date()let time = today.getHours()- こちらのサイトの 「日付のフォーマットを設定できるメソッド一覧」と書かれた章の表を参考にすると、時間以外も条件式に入れることができます。挑戦してみてください!