Я загружаю изображения из моей базы данных Firebase Realtime, и они не работают с javascript на странице. Это странно, потому что, если я жестко закодирую изображение на веб-сайте, изображение будет выглядеть как положено, и откроется как модальное. Однако, когда я динамически генерирую тот же код javascript при чтении изображения из моей базы данных, изображение не открывается как модальное.
Javascript на моей html-странице для взаимодействия с изображениями
<script>
// Get the modal
var modal = document.getElementById('myModalPic');
// Get the image and insert it inside the modal - use its "alt" text as a caption
//var modal = $('.myModalPic')
var img = $('.myImg');
var modalImg = $(".img");
var imageInfo = $('.imageInformation');
var captionText = document.getElementsByClassName("caption");
$('.myImg').click(function(){
modal.style.display = "block";
var newSrc = this.src;
modalImg.attr('src', newSrc);
//captionText.innerHTML = this.imageInfo.innerHTML;
});
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("closeModal")[0];
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
</script>
HTML (жестко запрограммированного) изображения, которое содержит слова, которые должны:
<div class="col-xl-4 col-xs-12 imageGrid">
<img class="myImg" src="../Images/TestContainer.png" alt="Test" width="300" height="200">
<div id="myModalPic" class="modal">
<span class="closeModal" onclick="document.getElementById('myModal').style.display='none'">×</span>
<img class="modal-content img">
<div class="caption">
<span>Title: </span></br>
<span>Dimensions: </span></br>
<span>Medium:<span>
</div>
</div>
</div>
Динамически генерируемый код, который происходит при загрузке изображения из базы данных
<div class="col-xl-4 col-xs-12 imageGrid">
<img class="myImg" src="https://firebasestorage.googleapis.com/v0/b/PrivatInformation/o/uploadedImages%2F1.PNG?alt=media&token=7915c01e-f553-497e-b6a2-2b8dd1f21bac" width="300" height="200">" alt="Test" width="300" height="200">
<div id="myModalPic" class="modal">
<span class="closeModal" onclick="document.getElementById('myModal').style.display='none'">×</span>
<img class="modal-content img">
<div class="caption">
<span>Title: </span></br>
<span>Dimensions: </span></br>
<span>Medium:<span>
</div>
</div>
</div>