커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
온마우스시 showtext, hidetext 기능이 이상작동하는것 같습니다.
인생사진 쏙쏙 코딩네컷 v0
1주차
북마크
홍*현
댓글
2
추천
0
조회수
21
조회수
21
답변 완료

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

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


showtext, hidetext 기능이 제대로 작동하지 않는것 같습니다. 그대로 만들었다 생각하는데 코드 어느 부분이 틀린걸가요




<!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("./background.png");

    }

        .container {

            width: 390px;

            background-color: #ff9d73;

            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: 500;


        }

        #image1 {

            background-image: url('./img1.png');

        }

        #image2 {

            background-image: url('./img2.png');

        }

        #image3 {

            background-image: url('./img3.png');

        }

        #image4 {

            background-image: url('./img4.png');

        }

        .photo_descrition{

            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;


        }

        .video {

            width: 100%;

            height: 100%;

        }

        .showText {

            opacity: 0;

        }

        .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 {

            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_descrition">

                     1번 이미지          

                 </span>

            </div>

             <div id="image2" class="photo-frame"

             

                onmouseover="showText(2)"

                onmouseout="hideText(2)"

                onclick="alertText(2)"

             

             >

                <span id="desc1" class="photo_descrition">

                     2번 이미지            

                </span>

             </div>

             <div id="image3" class="photo-frame"

             

             onmouseover="showText(3)"

             onmouseout="hideText(3)"

             onclick="alertText(3)"

             >

                <span id="desc1" class="photo_descrition">

                    3번 이미지

                </span>

             </div>

             <div class="photo-frame"

             

             onmouseover="showText(4)"

             onmouseout="hideText(4)"

             onclick="alertText(4)"

             

             >

                <iframe

                src="https://www.youtube.com/embed/3RamHCqIN9c"

                frameborder="0"

                class="video"

            ></iframe>

             </div>

             <div class="footer">

                <p class="f-title">Happy Lunch Time</p>

                <p class="f-date">2023.01.25</p>

             </div>

    </div>

</body>

</html>



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