みなさんこんにちは!おさかなです!
今回は「第5回256times」について、書いていこうと思います!
今回もドットインストールが用意している、「プレイグラウンド」という環境でコーディングしていきました…!
プレイグラウンドの利用はコチラ!
※ドットインストールのアカウントを取得しておく必要があります…!
それでは、レッツゴー!!!!!
・ドットインストールで学習中の方
・256timesって何?という方
・ソースコードを添削してほしい方
第5回の課題は?
第5回の課題は「JavaScript」で「動きのある3つの箱」を作ってみる!でした…!
今回もいつも通りの流れです…!
・21:30 課題提出締め切り、休憩
・21:35 コードレビュー開始
・22:00 番組終了
実際に参加した感想
今回からは「JavaScript」も取り入れられていてチャレンジし甲斐があり、とても楽しかったです…!
まだまだ「HTML/CSS」で躓く部分もあるので、もっとスムーズにコードを書いていけるといいなと思いました。
そして、「JavaScript」も基本的なことがしっかりと理解できていないので、これからもっと勉強して、アウトプットの回数を増やしていきたいと思います!
(がんばります…!)
おさかなのソースコード
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>My Playground</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <ul> <li id ="left"></li> <li id ="center"></li> <li id ="right"></li> </ul> <script src="js/main.js"></script> </body> </html>
CSS
ul { list-style: none; display: flex; justify-content:space-around; } li { width: 100px; height: 100px; background: pink; } #left.orange { background: orange; }
JavaScript
'use strict'; let count = 0; document.getElementById("left").onclick = function() { this.classList.toggle("orange"); }; document.getElementById("center").onclick = function() { count++; console.log(count); };
レビューコードまとめ
今回は「JavaScript」をメインに、レビューを行っていました!
レビューコード1
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>My Playground</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <div class="contents"> <div class="box">hello</div> <div class="box">0</div> <div class="box">?</div> </div> <script src="js/main.js"></script> </body> </html>
CSS
.contents { display: flex; } .box { width: 100px; height: 100px; /*background: #003ea8;*/ background-color: blue; text-align: center; line-height: 100px; border-radius: 5px; color: #fff; user-select: none; cursor: pointer; } .box + .box { margin-left: 10px; }
JavaScript
'use strict'; // var - 関数スコープ // let, const - ブロックスコープ // (function() { { // let boxes = document.getElementsByClassName('box'); let boxes = document.querySelectorAll('.box'); let color = 'blue'; // console.log(boxes[0]); boxes[0].addEventListener('click', function() { this.style.backgroundColor = this.style.backgroundColor === 'blue' ? 'pink' : 'blue'; // if (color === 'blue') { // // classList.toggle() // this.style.background = 'pink'; // color = 'pink'; // } else { // this.style.background = '#003ea8'; // color = 'blue'; // } }); boxes[1].addEventListener('click', function() { this.textContent++; }); boxes[2].addEventListener('click', function() { this.textContent += '?'; }); } // })();
レビューコード2
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>My Playground</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <div class="container"> <div id="box1" class="box">1</div> <div id="box2" class="box"></div> <div id="box3" class="box">gray</div> </div> <script src="js/main.js"></script> </body> </html>
CSS
.container{ display: flex; } .box{ margin-left:12px; width:100px; height:100px; background: #bbb; line-height:100px; text-align:center; user-select:none; cursor:pointer; } .box:hover{ /*cursor:pointer;*/ }
JavaScript
let box1 = document.getElementById("box1"); let box2 = document.getElementById("box2"); let box3 = document.getElementById("box3"); // console.log(box1); box1.addEventListener('mousedown', function(){ box1.style.background="orange"; // classListのほうがいいと思います }); box1.addEventListener('mouseup', function(){ box1.style.background=""; }); box2.textContent = 1; box2.addEventListener('click', function(){ box2.textContent++; }); box3.addEventListener('click', function(){ let colors=["red","pink","orange","yellow","green","blue","navy","tomato"]; let randomNum=Math.floor(Math.random() * colors.length); box3.style.background=colors[randomNum]; // box3.textContent=colors[randomNum]; box3.textContent = randomNum; });
レビューコード3
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>256times</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <div class="boxWrap"> <!--color--> <div class="box box1" id="box1"> <p>hello</p> </div> <!--count--> <div class="box box2" id="box2"> <p>0</p> </div> <div class="box box3"></div> </div> <script src="js/main.js"></script> </body> </html>
CSS
.boxWrap{ display: flex; } .box{ width: 5em; height: 5em; background-color: skyblue; margin-right: 1em; text-align: center; } .red{ background-color: red; }
JavaScript
// color // document.getElementById("box1").onclick = function(){ // this.classList.toggle("red"); // } // document.getElementById("box1").addEventListener('click', () => { // document.getElementById("box1").classList.toggle('red'); // }); document.getElementById("box1").addEventListener('click', function() { this.classList.toggle('red'); }); // count let countUp = 0; // document.getElementById("box2").onclick = function(){ // countUp++; // document.getElementById("box2").innerHTML = countUp; // } document.getElementById("box2").addEventListener('click', () => { countUp++; document.getElementById("box2").textContent = countUp; });
レビューコード4
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>My Playground</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <ul> <li id="left"></li> <li id="center">0</li> <li id="right"></li> </ul> <script src="js/main.js"></script> </body> </html>
CSS
ul { list-style: none; display: flex; justify-content:space-around; } li { width: 100px; height: 100px; background: pink; } #left.orange { background: orange; }
JavaScript
'use strict'; // let count = 0; // document.getElementById("left").onclick = function() { // this.classList.toggle("orange"); // }; document.getElementById("left").addEventListener("click", () => { document.getElementById("left").classList.toggle("orange"); }); // document.getElementById("center").onclick = function() { // count++; // console.log(count); // }; document.getElementById("center").addEventListener("click", () => { document.getElementById("center").textContent++; });
おさかなの今後の課題
・MDNを読むことに慣れる(最初は流し読みでOK!)
・「this」の意味が「前の記述」によって変わるので注意する
・「””」、「’’」記述を統一する
・テキスト自体に「++」をしてカウントする書き方もある
感想・まとめ
今回は「256times」について、書いていきました…!
いかがだったでしょうか?
第5回目の課題は「JavaScript」の知識も必要になってきて、すごく勉強になりました…!
毎回アウトプットの機会をいただけているので、「理解不足な部分」や「今後の課題」をしっかり見つけることができて本当に感謝です!
ドットインストールのみなさん!今回もありがとうございました。✨
次回の開催は「2/17(火)21:00~」ということで、興味のある人はぜひ参加してみてください…!(おさかなも参加します…!)
それでは今回はこの辺で!
ここまで読んでくださり、ありがとうございました!
おさかなでした!
【おさかなび-osakanav-】では、この記事の感想!おさかなへの応援メッセージ!おさかなに聞きたい事、質問!記事にしてほしい内容!などを大募集中!
「氏名」「メールアドレス」「内容」の3点をご記入の上「osakana1699@gmail.com」までご応募ください!