@nathan111777

Как переписать имеющийся код с использованием React?

Есть код, где изображение при клике на него становится больше, почти на весь экран (модальное изображение).
Как будет выглядеть такой JS код в React?
<!--HTML:-->
<div class="portfolio">
<div class="portfolio-container">
<div class="foto-container">
 <img class="foto-portfolio" src="https://libreshot.com/wp-content/uploads/2017/09/Desert-Lizards.jpg" style="width:100%;max-width:300px">
</div>
</div>
<div id="myModal" class="modal-portfolio">
  <span class="close">&times;</span>
  <img class="modal-content" id="img01">
</div>
</div>



<!--CSS:-->
<style>
.foto-portfolio{
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}
.foto-portfolio:hover {
    opacity: 0.7;
    }

.modal-portfolio {
  display: none; 
  position: fixed; 
  z-index: 100; 
  padding-top: 100px; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgb(0,0,0); 
  background-color: rgba(0,0,0,0.7);
}

.modal-content {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
}

.close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 100px;
  font-weight: bold;
  transition: 0.3s;
}
</style>



<!--JS:-->
<script>
var modal = document.getElementById('myModal');
var modalImg = document.getElementById("img01");
var modal = document.getElementById('myModal');
var img = document.getElementsByClassName("foto-portfolio");

for( var i = 0; i < img.length; i++){
  img[i].addEventListener('click', function(){
    modal.style.display = "block";
    modalImg.src = this.src;
  });
}

var span = document.getElementsByClassName("close")[0];
span.onclick = function() { 
  modal.style.display = "none";
}
</script>
  • Вопрос задан
  • 826 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы