javascript、jqueryでの実装経験が少なく調べながら進んでいたのですがつまづいてしまい、アドバイスいただけると嬉しいです。
iziModalというプラグインを使用しています。
##実現したいこと
・同一ページ内に複数存在するモーダルウィンドウがクリック表示される時にiframeタグを生成したい(データ属性の値をsrc=""のIDとして渡したい)
・モーダルウィンドウ表示の場合、モーダル内の動画を初期表示。モーダルウィンドウを非表示にする場合再生を停止(iframeを削除)
上記の処理を行いたいと思っております。
html
1 .mv__content__item 2 .mv__kv.izimodal-open(data-target="modal01") 3 span タイトル 4 p テキスト 5 .mv__modal#modal01 6 .mv__modal__video(data-video-id="===ID===") 7 //- iframe.mv__modal__video(src="https://www.youtube.com/embed/===ID===" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen) 8 .mv__modal__desc 9 .video__intro 10 span タイトル 11 p テキスト 12
javascript
1import $ from 'jquery'; 2import iziModal from 'izimodal'; 3 4/** 5 * @constructor 6 */ 7 8export default class Modal { 9 constructor() { 10 $.fn.iziModal = iziModal; 11 this.dom = $(".mv__content") 12 this.modalTriger = $(".izimodal-open") 13 this.modalE(); 14 } 15 16 modalE() { 17 $(".mv__content").each(()=> { 18 this.modalTriger.on("click",(e) => { 19 e.preventDefault(); 20 this.target = this.modalTriger.data('target') 21 this.modal = $(`#${this.target}`) 22 this.modalVideo = $(".mv__modal__video") 23 24 //iframeの作成 25 this.modalVideo.append('<iframe src="https://www.youtube.com/embed/===ID===" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>') 26 27 this.modal.iziModal("open") 28 }); 29 }); 30 this.modalSetting(); 31 } 32 modalSetting() { 33 $(".mv__modal").iziModal({ 34 width: '100%', 35 transitionIn: 'fadeInUp', 36 transitionOut: 'fadeOutDown' 37 }); 38 } 39} 40
append()でモーダルの表示前に追加できるのでは?と思いましたが追加がされずとなっております。
アドバイスお願いしたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。