34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * UI Modals
 | 
						|
 */
 | 
						|
 | 
						|
'use strict';
 | 
						|
 | 
						|
(function () {
 | 
						|
  // On hiding modal, remove iframe video/audio to stop playing
 | 
						|
  const youTubeModal = document.querySelector('#youTubeModal'),
 | 
						|
    youTubeModalVideo = youTubeModal.querySelector('iframe');
 | 
						|
  youTubeModal.addEventListener('hidden.bs.modal', function () {
 | 
						|
    youTubeModalVideo.setAttribute('src', '');
 | 
						|
  });
 | 
						|
 | 
						|
  // Function to get and auto play youTube video
 | 
						|
  const autoPlayYouTubeModal = function () {
 | 
						|
    const modalTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="modal"]'));
 | 
						|
    modalTriggerList.map(function (modalTriggerEl) {
 | 
						|
      modalTriggerEl.onclick = function () {
 | 
						|
        const theModal = this.getAttribute('data-bs-target'),
 | 
						|
          videoSRC = this.getAttribute('data-theVideo'),
 | 
						|
          videoSRCauto = `${videoSRC}?autoplay=1`,
 | 
						|
          modalVideo = document.querySelector(`${theModal} iframe`);
 | 
						|
        if (modalVideo) {
 | 
						|
          modalVideo.setAttribute('src', videoSRCauto);
 | 
						|
        }
 | 
						|
      };
 | 
						|
    });
 | 
						|
  };
 | 
						|
 | 
						|
  // Calling function on load
 | 
						|
  autoPlayYouTubeModal();
 | 
						|
})();
 |