javascript
1//クリックした時にモーダルが展開するトリガーとなる要素の取得 2let modalTrigger = document.getElementById("modal-open"); 3//上記で取得した要素のdata属性を取得 4let modalData = modalTrigger.dataset.target; 5//上記で取得したdata属性の内容と一致するidを持つ要素(当該モーダルの内容)を取得 6let modal = document.getElementById(modalData); 7 8let modalOpen = function() { 9 modal.classList.remove("--hidden"); 10 modal.classList.add("--visible"); 11} 12 13modalTrigger.addEventListener('click', modalOpen); 14
javascriptを使用してモーダルウィンドウを製作しています。
流れとしては
- モーダルが展開する要素をクリック
- data属性を取得
- その内容と一致するidの持つ要素(モーダル部分)が展開される
のような流れで製作したのですが上手く動きません。
また、クリックイベントのターゲットとなる要素を(> let modalTrigger = document.querySelectorAll(".modal-open");)
で指定したのですが
for (let i = 0; i < modalTrigger.length; i++) {
modalTrigger[i].addEventListener('click', alerts);
}
と記述してもクリックイベントがすべての要素に適応されるどころか、クリックベントが発生しません。
複数の要素に対して同じクリックイベントを発生させるにはどのようにしたほうがよろしいでしょうか?
また、モーダルウィンドウの制作にあたってもっと良いやり方などがあればご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー