前提・実現したいこと
既存のサイトにポップアップが実装されているのですが、追加でもう一つ同じ形式のポップアップを実装したいです。
サイト
↑この「中部経済新聞に掲載されました。」というところをクリックすると、
ポップアップ
↑このようなポップアップが表示されます。
今回この下の「中部経済新聞に「試薬管理システム開発」が掲載されました。」というところをクリックすると同じようなポップアップが表示されるようにしたいです。
jsは全然わかりません。jqueryは少しわかります。
html,cssはよくわかります。
発生している問題・エラーメッセージ
自分が作ったサイトではないものです。ftpを使ってファイルをダウンロードしてきて、新たにポップアップを実装しようとしています。
jsのファイルはmain.bundle.jsというものがひとつだけサーバーにありましたが、どこをどう変えれば新たにポップアップを実装できるのかわかりません。コードを記載しますので、どこをどう変えたり追加したりすれば実装できるかを教えて頂きたいです。
該当のソースコード
javascript
1function n() { 2 ! function () { 3 var t = document.documentElement, 4 e = window.scrollY, 5 r = document.querySelector(".modal"), 6 n = document.querySelector(".js-open-modal"), 7 i = document.querySelector(".js-close-modal"); 8 window.addEventListener("scroll", (function () {})), n.addEventListener("click", (function () { 9 var r = document.querySelector('[data-modal-id="1"]'); 10 e = window.scrollY, r.classList.add("is-show"), t.classList.add("is-open-modal") 11 })), i.addEventListener("click", (function () { 12 r.classList.remove("is-show"), t.classList.remove("is-open-modal"), window.scrollTo(0, e) 13 })); 14 var s = r.querySelector(".js-scrollable"), 15 o = null; 16 s.addEventListener("touchstart", (function (t) { 17 t.targetTouches.length > 1 || (o = t.targetTouches[0].clientY) 18 }), !1), s.addEventListener("touchmove", (function (t) { 19 if (!(t.targetTouches.length > 1)) { 20 var e, r = t.targetTouches[0].clientY - o; 21 if (0 === s.scrollTop && r > 0) t.preventDefault(); 22 else(e = s).scrollHeight - e.scrollTop <= e.clientHeight && r < 0 && t.preventDefault() 23 } 24 }), !1) 25 }() 26 } 27
javascriptはすごく長いコードでした。その中でhtmlに記載されているクラス名のついた、ポップアップに関係していると思われる部分を抜粋して上記に記載しました。
html
1<section class="area-media"> 2 <div class="content-frame"> 3 <h2 class="title"><span class="main">MEDIA</span><span class="sub">メディア</span></h2> 4 <ul class="list"> 5 <li class="list__item"><a class="link js-open-modal" data-target-modal="1"><span class="meta">2020.01.07</span><span class="title">中部経済新聞に掲載されました。</span></a></li> 6 <li class="list__item"><a class="link js-open-modal" data-target-modal="2"><span class="meta">2020.11.12</span><span class="title">中部経済新聞に「試薬管理システム開発」が掲載されました。</span></a></li> 7 </ul> 8 </div> 9 </section> 10 </main> 11 <div class="modal" data-modal-id="1"> 12 <div class="modal__inner js-scrollable"> 13 <div class="modal__content"> 14 <div class="block-article"> 15 <div class="box-image"><img class="img" src="../assets/img/company/img_1.png"></div> 16 </div><span class="js-close-modal"><i class="effect"></i><span class="text">閉じる</span></span> 17 </div> 18 </div> 19 </div> 20 <div class="modal" data-modal-id="2"> 21 <div class="modal__inner js-scrollable"> 22 <div class="modal__content"> 23 <div class="block-article"> 24 <div class="box-image"><img class="img" src="../assets/img/company/201124_zisseki.jpg"></div> 25 </div><span class="js-close-modal"><i class="effect"></i><span class="text">閉じる</span></span> 26 </div> 27 </div> 28 </div>
htmlはテキスト部分のli要素をもともとのコードから追記しました。
また、モーダルの表示部分が新たに必要だと思い、data-modal-id="2"というクラスのついたdiv以下をもともとのコードから追記しました。もともとはdata-modal-id="1"というクラスのついたdiv内のコードしかありませんでした。
試したこと
ちょっと調べて、querySelector('[data-modal-id="1"]')の部分をquerySelectorAll('[data-modal-id="1"],[data-modal-id="2"]')として動くかなと思いやってみましたがだめでした。
また、上記のjsの部分だけ全体を複製して、下に追記し、querySelector('[data-modal-id=""]')の部分をquerySelector('[data-modal-id="2"]')としたら動くかなと思いましたが、だめでした。
補足情報(FW/ツールのバージョンなど)
jsはほとんどわかりません。すみませんどうしたらポップアップを実装できるか教えてください。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー