커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
마우스를 올렸는데도 설명이 출력되지 않고 있습니다.
인생사진 쏙쏙 코딩네컷 v0
1주차
북마크
댓글
3
추천
0
조회수
16
조회수
16
답변 완료

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

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


마우스를 올렸는데도 설명이 출력되지 않고 있습니다.

onmouseover, onmouseout 이벤트가 발생되지 않고 있는데, 어디서 잘못되었는지 모르겠습니다.






작성한 코드 및 에러 메세지

/<!DOCTYPE html>

<html lang="ko">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>코딩네컷</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("https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/free_photos/background.png");

    }

    .container {

        width: 390px;

        background-color: coral;

        height: 100%;

    }

    .photos{

        margin-top: 30px;

    }

   

    .photo-frame{

        background-color: white;

        margin: 15px 20px;

        height: 200px;


    }

    .footer{

        display: flex;

        flex-direction: column; /*column 아래방향*/

        align-items: center;

    }

    .f-title{

        color:white;

        font-size: 25px;

        font-weight: 900px;

    }

    .f-date{

        color:white;

        font-size: 15px;

        font-weight: 500px;

    }

    .photo-frame{

        background-size: cover;

        position: relative;

        cursor: pointer; /*마우스가 사진 위로 올라가면 포인터 아이콘으로 바뀌도록*/

    }

    .photo-description{

        color:white;

        background-color: black;


        width: fit-content;

        padding: 0 20px; /*상하 0 좌우20px*/

        margin-bottom: 10px;


        border-radius: 10px;


        position: absolute;

        bottom: 0;

       

        transform: translate(-50%);

        left: 50%;


        opacity: 0; /*초반에 페이지 열릴 때 기본으로 안보이게 하기 위한 설정*/

    }


    #image1{

        background-image: url("https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/free_photos/img1.png");

    }

    #image2{

        background-image: url("https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/free_photos/img2.png");

    }

    #image3{

        background-image: url("https://s3.ap-northeast-2.amazonaws.com/materials.spartacodingclub.kr/free_photos/img3.png");

    }

    .video{

       width:100%;

       height:100%;

    }

   

    .showText{opacity: 0;}

    .hideText{

        opacity: 1;

        transition: opacity 0.5s linear;

    }


    </style>

    <script>

    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. 해당 사진을 찾아 showText 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="hideText(1)"

            onmouseout="showText(1)"

            onclick="alertText(1)">

                <span id="des1" class="photo-description">

                    사진1 이미지 설명

                </span>

            </div>

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

            onmouseover="hideText(2)"

            onmouseout="showText(2)"

            onclick="alertText(2)">

                <span id="des2" class="photo-description">

                    사진2 이미지 설명

                </span>

            </div>

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

            onmouseover="hideText(3)"

            onmouseout="showText(3)"

            onclick="alertText(3)"

            >

                <span id="des3" class="photo-description">

                    사진3 이미지 설명

                </span>

            </div>

            <div class="photo-frame">

                <iframe src="https://youtu.be/TWz1btekxfs"

                frameborder="0"

                class="video">

                </iframe>

            </div>

        </div>

        <div class="footer">

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

            <p class="f-date">2023.2.19.</p>

        </div>

    </div>

</body>

</html>



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