커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
마우스를 내리면 설명글이 사라져야하는데 안사라지고 계속 있어요
인생사진 쏙쏙 코딩네컷 v0
기타
북마크
이*나
댓글
5
추천
0
조회수
13
조회수
13
답변 완료

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

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


마우스를 내리면 설명글이 사라져야하는데 안사라지고 계속 있어요



보고 계신 화면 전체<!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");

}  


/* 너비는 390픽셀이구, 배경색이 좀 필요하고 부모(body) 높이 전체를 쓸거야 */

.container {

width: 390px;

background-color: #ff9d73;

height: 100%;


}


/* 위로 여유가 30픽셀 정도 있었으면 좋겠네 */

.photos {

margin-top: 30px;

}


/* 배경은 알아보기 쉽게 흰색으로 해주고, 좌우 마진은 20픽셀 */

/* 상하 마진은 15픽셀로 해줘. 높이는 각 사진마다 200 픽셀로!*/

.photo-frame {

background-color: white;

margin: 15px 20px;

height: 200px;


background-size: cover;

position: relative;


cursor:pointer;


}



/* 아래 영역 전체는, flexible하게 하되 그 내부 아이템들은 세로로 쌓을거야 */

/* 근데 모두 가운데 정렬 했으면 좋겠어! */

.footer {

display: flex;

flex-direction: column;

align-items: center;

}



/* 아래 영역의 제목 부분은 폰트가 좀 두껍고, 사이즈는 25픽셀! 흰색으로 */

.f-title {

font-size: 25px;

font-weight: 900;

color: white;

}


/* 아래 영역의 날짜 부분은 폰트가 중간 두께고, 사이즈는 15픽셀! 흰색으로 */

.f-date {

font-size: 15px;

font-weight: 500;

color: white;

}


#image1{

    background-image : url('./KakaoTalk_20230423_165122281_03.jpg');

}

#image2{

    background-image : url('./KakaoTalk_20230423_165122281_02.jpg');

}

#image3{

    background-image : url('./KakaoTalk_20230423_165122281.jpg');

}

#image4{

    background-image : url('./KakaoTalk_20230423_165122281_01.jpg');

}


.photo_discription {

   

     /*배경은 흰색, 글자는 검은 색으로  */

    color: black;

    background-color : white;


    /*가로 너비는 내부 콘텐츠에 딱 맞게!   */

    width : fit-content;

    padding : 0 20px;

    margin-bottom:10px;


    border-radius: 10px;


    position: absolute;

    bottom :85%;

    transform: translate(-0% );

    left : 58%;


    opacity:0;

   

}


.video {

    width : 100%;

    height : 100%;


}

/*opacity(불투명함)이  0이면 0%투명하다. 즉 다보인다. */


.showText{


    opacity: 0;


}


/*opacity(불투명함)이  1이면 하나도 안 보인다. */

/*transition : opacity 0.5s linear;  = 비로 텍스트가 나왔다 사라졌다 */

.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_discription">

                 무지개 해안도로

                </span>


            </div>

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

            onmouseover="showText(2)"

            onmouseout="hideText(2)"

            onclick="alertText(2)"

            >

                <span id="desc2" class="photo_discription">

                    갈대밭 성해은st

                </span>


            </div>

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

            onmouseover="showText(3)"

            onmouseout="hideText(3)"

            onclick="alertText(3)">

                <span id="desc3" class="photo_discription">

                    다 찍었다 가야지

                </span>


            </div>

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

            onmouseover="showText(4)"

            onmouseout="hideText(4)"

            onclick="alertText(4)">

                <!-- src : source, 즉 자료의 원천이 어디있는지를 의미해요! -->

                <iframe src="제주도.mp4" frameborder="0" class="video">        

                </iframe>

            </div>

           

            </div>

           

        </div>


        <div class = "footer">

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

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


        </div>

    </div>

</body>

</html>를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.







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