- 이미지 클릭 시, 모달 창으로 이미지 보여주기
어떤 이유인지 티스토리 라이트박스가 적용이 안되어 대체 방식을 찾았다.
→ 모달 창을 만들어 이미지를 띄우고자 한다.
HTML의 body 태그 안에 아래 코드들을 추가해준다.
- HTML
<!-- 이미지 모달 -->
<div class="modal">
<div class="modalBox"></div>
</div>
- JavaScript
$(function(){
// 이미지 클릭시 해당 이미지 모달
$("span img").click(function(){
let img = new Image();
img.src = $(this).attr("src")
$('.modalBox').html(img);
$(".modal").show();
});
// 모달 클릭할때 이미지 닫음
$(".modal").click(function (e) {
$(".modal").toggle();
});
});
CSS에는 modal 창에 적용될 css 코드도 추가해준다.
- CSS
/* image modal */
.modal {
display: none;
z-index: 500;
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.8);
}
.modalBox {
position: relative;
text-align: center;
top : 15%;
left : 30%;
width: 50%;
max-height: 50%;
position : sticky;
}
span img:hover{
cursor: -webkit-zoom-in;
}
/* image modal end */