https://laluniax.github.io/cording-4-cut/
↗완성본↖
사실 내 사진 넣으려고 했는데 ...
찍은 게 거의 없기도 하고
부모님 보여드리고 싶어서 마루 사진으로 골랐다 ㅎㅅㅎ
혹시 말티즈를 모르는 사람이 있을지 모르니
네 번째 컷은 말티즈 정보 영상으로 !
아래는 코드!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Maru's Daily life</title>
<style>
@font-face {
font-family: "LeeSeoyun";
format("woff");
font-weight: normal;
font-style: normal;
}
/* body태그 자체에 css 요소 부여 */
body {
font-family: "LeeSeoyun";
margin: 0;
display: flex;
justify-content: center;
background-image: url("./background.png");
}
.container {
width: 390px;
background-color: #ff9d73;
height: 100%;
}
.photos {
margin-top: 30px;
}
.footer {
display: flex;
flex-direction: column;
align-items: center;
}
.f-title {
font-size: 25px;
font-weight: 900;
color: white;
}
.f-date {
font-size: 15px;
font-weight: 500;
color: white;
}
#image1 {
background-image: url(IMG_5294.jpeg)
}
#image2 {
background-image: url(IMG_5334.jpeg);
}
#image3 {
background-image: url(IMG_5688.jpeg);
}
#image4 {
background-image: url(IMG_5727.jpeg);
}
.video {
width: 100%;
height: 100%;
}
.photo-frame {
background-color: white;
margin: 15px 20px;
height: 200px;
background-size: cover;
position: relative;
cursor: pointer; //마우스가 사진 위로 올라가면 포인터 아이콘으로 바뀌도록
}
.photo-description {
color: white;
background-color: black;
width: fit-content;
padding: 0 20px;
margin-bottom: 10px;
border-radius: 10px;
position: absolute;
bottom: 0;
transform: translate(-50%);
left: 50%;
opacity: 0;
}
.showText {
opacity: 1;
transition: opacity 0.5s linear;
}
/* opacity : 투명도를 의미해요! opacity는 0에 가까워 질 수록 투명하다. 즉 안보인다. */
/* transition : 나타날 때 0.5초동안 천천히 나타나는 효과를 주라는 의미에요 */
.hideText {
opacity: 0;
}
</style>
<script>
// 텍스트가 보여지는 기능
// 1. 몇 번째 사진에 마우스가 올라갔는지 확인(if문)
// 2. 해당 사진을 찾아 hideText class를 지워주고, showText는 삽입해줌
function showText(number) {
if (number === 1) {
document.querySelector("#desc1").classList.remove("hideText");
document.querySelector("#desc1").classList.add("showText");
} else if (number === 2) {
document.querySelector("#desc2").classList.remove("hideText");
document.querySelector("#desc2").classList.add("showText");
} else {
document.querySelector("#desc3").classList.remove("hideText");
document.querySelector("#desc3").classList.add("showText");
}
}
// 텍스트가 감춰지는 기능
// 1. 몇 번째 사진에서 마우스가 벗어났는지 확인(if문)
// 2. 해당 사진을 찾아 shotText class를 지워주고, hideText는 삽입해줌
function hideText(number) {
if (number === 1) {
document.querySelector("#desc1").classList.remove("showText");
document.querySelector("#desc1").classList.add("hideText");
} else if (number === 2) {
document.querySelector("#desc2").classList.remove("showText");
document.querySelector("#desc2").classList.add("hideText");
} else {
document.querySelector("#desc3").classList.remove("showText");
document.querySelector("#desc3").classList.add("hideText");
}
}
// 클릭 기능
// 1. 선택된 사진의 숫자를 가진 텍스트를 alert 형태로 출력해줌
function alertText(number) {
alert(`${number}번째 추억이에요! 눌러주셔서 감사합니다 'ㅅ' !! `);
}
</script>
</head>
<body>
<div class="container">
<div class="photos">
<div id="image1" class="photo-frame"
onmouseover="showText(1)"
onmouseout="hideText(1)"
onclick="alertText(1)">
<span id="desc1" class="photo-description">
엄청!
</span>
</div>
<div id="image2" class="photo-frame"
onmouseover="showText(2)"
onmouseout="hideText(2)"
onclick="alertText(2)">
<span id="desc2" class="photo-description">
귀여운!
</span>
</div>
<div id="image3" class="photo-frame"
onmouseover="showText(3)"
onmouseout="hideText(3)"
onclick="alertText(3)">
<span id="desc3" class="photo-description">
마루 'ㅅ'!
</span>
</div>
<div class="photo-frame">
</div>
</div>
<div class="footer">
<p class="f-title">Maru's Daily Life</p>
<p class="f-date">2023.05.17</p>
</div>
</div>
</body>
</html>
사실 처음에 마우스 커서를 사진 위에 올리면 텍스트가 나오는 기능을 넣었는데,
작동을 하지 않길래... 30분 넘게 삽질하다 튜터님께 도움 요청했다.
알려주신 대로 하니까 성공....!!!
처음 했을 때 보다 코드 보는 시각이 넓어진 것 같아서 기분이 좋다!