커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
커서 움직이면 글씨 나오는 과정에서 부분적으로 문제가 생겨요.
인생사진 쏙쏙 코딩네컷 v0
기타
북마크
이*연
댓글
1
추천
0
조회수
9
조회수
9
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


3번째 사진은 디스크립션이 아예 안뜨고

4번째 사진은 커서를 대지 않아도 계속 디스크립션이 노출된 상태로 있습니다.

뭐가 문제인지 잘 모르겠네요...



스파르타 즉문즉답




<!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>Document</title>
    <style>
        /* 이서윤체 폰트 적용을 위한 코드 */
        @font-face {
            font-family: "LeeSeoyun";
            src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2202-2@1.0/LeeSeoyun.woff")
                format("woff");
            font-weight: normal;
            font-style: normal;
        }


        /* body태그 자체에 css 요소 부여 */
        body {
            font-family: "LeeSeoyun";
            margin: 0;
            display: flex;
            justify-content: center;
            background-image: url("./Candy cane - PC wallpaper.png");
            
        }


        .container {
            width: 390px;
            background-color: rgb(94, 10, 10);
            height: 100%;
        }


        .photos {
            margin-top: 30px;
        }


        .photo-frame {
            background-color: white;
            margin: 15px 20px;
            height: 200px;
            background-size: cover;


            position: relative;


            cursor: pointer;
        }


        .footer {
            display: flex;
            flex-direction: column;
            align-items: center;
        }


        .f-title {
            color: white;
            font-size: 25px;
            font-weight: 900px;
        }


        .f-date {
            color: white;
            font-size: 15px;
            font-weight: 500px;
        }


        #img1 {
            background-image: url('./img1.jpg');
            background-position: center;
            background-repeat: no-repeat;
            
        }


        #img2 {
            background-image: url('./img2.jpg');
            background-position: center;
            background-repeat: no-repeat;
        }


        #img3 {
            background-image: url('./img3.jpg');
            background-position: center;
            background-repeat: no-repeat;
        }


        #img4 {
            background-image: url('./img4.jpg');
            background-position: center;
            background-repeat: no-repeat;
        }


        .photo-description {
            color: white;
            background-color: black;


            width: fit-content;
            padding: 0 20px;
            margin-bottom: 10px;
            border-radius: 10px;


            position: absolute;
            bottom: 0;


            opacity: 0;


        }


        /* opacity : 투명도를 의미해요! 0% 투명하다. 즉 다 보인다. */
        .showText {
            opacity: 0;
        }


        /* opacity : 투명도를 의미해요! 100% 투명하다. 즉 안보인다. */
        /* transition : 나타날 때 0.5초동안 천천히 나타나는 효과를 주라는 의미에요 */
        .hideText {
            opacity: 1;
            transition: opacity 0.5s linear;
        }


    </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 if (number === 3) {
            document.querySelector("#desc3").classList.remove("hideText");
            document.querySelector("#desc3").classList.add("showText");
        } else {
            document.querySelector("#desc4").classList.remove("hideText");
            document.querySelector("#desc4").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 if (number === 4) {
            document.querySelector("#desc3").classList.remove("hideText");
            document.querySelector("#desc3").classList.add("showText");
        } else {
            document.querySelector("#desc4").classList.remove("showText");
            document.querySelector("#desc4").classList.add("hideText");
        }
        }


        // 클릭 기능
        // 1. 선택된 사진의 숫자를 가진 텍스트를 alert 형태로 출력해줌
        function alertText(number) {
            alert(`${number}번째 추억이에요! 눌러주셔서 감사합니다 :)`);
        }
    </script>
</head>
<body>
    <div class="container">
        <div class="photos">
            <div 
            id="img1" class="photo-frame"
            onmouseover="hideText(1)"
            onmouseout="showText(1)"
            onclick="alertText(1)"
            >
                <span id="desc1" class="photo-description"> 크리스마스 마켓 </span>
            </div>
            
            <div id="img2" class="photo-frame"
            onmouseover="hideText(2)"
            onmouseout="showText(2)"
            onclick="alertText(2)"> 
                <span id="desc2" class="photo-description"> 저주받은아이 연극 </span>
            </div>
            
            <div id="img3" class="photo-frame"
            onmouseover="hideText(3)"
            onmouseout="showText(3)"
            onclick="alertText(3)">
                <span id="desc3" class="photo-description"> 랄프로렌 커피 </span>
            </div>


            <div id="img4" class="photo-frame"
            onmouseover="hideText(4)"
            onmouseout="showText(4)"
            onclick="alertText(4)"> 
                <span id="desc4" class="photo-description"> 센트럴파크 </span>
            </div>


        </div>
        <div class="footer">
            <p class="f-title"> Days in NewYork </p>
            <p class="f-date"> 2022.11 </p>
        </div>
    </div>
</body>
</html>



취소
 공유
취소
댓글 0
댓글 알림
나의얼굴