
今日は、もりけん塾のJavaScript課題13 を終えて学んだことをアウトプットしていきます。
こんにちは。Webコーダーのはるです。
現在、所属している「もりけん塾」でハンズオン課題 に取り組み、レビューをいただいています。
今日は、課題13 についてアウトプットをしていきます。
(前回までのアウトプットは、こちらです。)
●課題13で学んだこと
【もりけん塾】JavaScript課題13で学んだこと まとめ
今回、取り組んだ課題はこちらです。

(もりけん先生のJavaScriptハンズオン課題より)
ボタンをクリックするとモーダルが出てくる
↓
モーダル内のボタンをクリックする
↓
モーダルが閉じてAPIにリクエストをする
↓
配列データを取得して、リストを表示する
モーダルの表示/非表示
モーダルの表示・非表示には、モーダルの<div>にis-activeクラスを付け外しする実装にしました。
クラスのつけ外しのために、classListプロパティを学習しました。
Element.classList は読み取り専用のプロパティで、生きたDOMTokenListコレクションでその要素のclass属性を返します。これを使用してクラスリストを操作することができます。
DOMTokenListという言葉を初めて聞いたのですが、これはトークン(文字列)のリストを表すオブジェクトのことを指すのだそうです。MDNで引いたのですがよくわからず、したの参考サイトを参照しました。
class属性は複数のクラスがスペースで区切られて並べられているものですので、DOMTokenListで表すことができます。
このような説明もありました。
Element.classListを使用することでClassを読み取ることができ、これ自体は読み取り専用と書かれていますが、.add()や.remove()を兼用することでオブジェクトの変更をすることが可能です。
<body>
<div id="js-contents">
<ul id="js-lists"></ul>
</div>
<button id="js-modalOpen">Click to open!</button>
<div class="modal" id="js-modal">
<div class="modal__contents">
<button id="js-button">Click!</button>
</div>
</div>
</body>
JSでモーダル要素を取得して、addEventListerでis-activeクラスを付け外ししました。
/* モーダル要素 */
<div class="modal" id="js-modal">
const button = document.getElementById("js-button");
const modalOpenButton = document.getElementById("js-modalOpen");
const modal = document.getElementById("js-modal");
modalOpenButton.addEventListener('click', () => {
modal.classList.add('is-active');
modalOpenButton.remove();
})
button.addEventListener('click', () => {
modal.classList.remove('is-active');
addList();
})
学習した
– classList.add()
– classList.remove()
を使用してクラスのつけ外しを行いました。
.modal {
display: none;
position: fixed;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #ccc;
}
.modal.is-active {
display: block;
}
今回はこの実装でApproveをいただきました。
//
学習に使用している本は、もりけん先生推奨の”JavaScript本格入門”です。
あとがき
お忙しい時間を割いて課題を確認してくださったもりけん先生(@terrace_tec)ありがとうございました!!
私の書いたコードはこちらです。
今日は以上です。
//
【もりけん塾で勉強しています】
もりけん先生(@terrace_tec)のHPはこちら


