본문 바로가기
말하는나무 PR. Mahannamu/맞춤제작 견적서 Customization Quote Request

logo 부분

by Mr.코딩 2023. 7. 22.

로고 박스의 사이즈 브라우저 뷰포트 가로 사이즈의 5%로 해서 뷰포트가 줄어들면 줄어드는 비율대로 박스도 줄어들게 만들어.

chatGTP

   <style>
      #logo {
        border: 1px solid rgb(219, 212, 212);
        width: 5vw; /* 뷰포트 가로 너비의 5%로 설정 */
        height: 5vw; /* 뷰포트 가로 너비의 5%로 설정 */
      }
    </style>

내가 그린 '삭제 버튼'을 삽입해. 그리고 그 버튼을 클릭하면 로고가 사라지도록 코드를 작성해 봐.

 

chatGTP

<style>
      #logo {
        border: 1px solid rgb(219, 212, 212);
        width: 5vw; /* 뷰포트 가로 너비의 5%로 설정 */
        height: 5vw; /* 뷰포트 가로 너비의 5%로 설정 */
      }

      .remove-logo-btn {
        cursor: pointer;
        margin-top: 10px;
      }
    </style>
  </head>
  <body>
    <div id="logo">로고 이미지</div>
    <img class="remove-logo-btn" src="delete.png" alt="삭제 버튼" />

    <script>
      // 로고 제거 버튼 이미지 클릭 이벤트 처리
      var removeBtn = document.querySelector('.remove-logo-btn');
      var logo = document.getElementById('logo');

      removeBtn.addEventListener('click', function () {
        logo.style.display = 'none'; // 로고 박스를 숨기는 스타일 적용
      });
    </script>
  </body>

 

 

로고가 삭제되면 '삭제 버튼'도 사라지게 해 봐.

 

chatGTP

removeBtn.addEventListener('click', function () {
        logo.style.display = 'none'; // 로고 박스를 숨기는 스타일 적용
        removeBtn.style.display = 'none'; // 삭제 버튼을 숨기는 스타일 적용
      });
    </script>

 


어떤 객체 위에 커서가 다가가면 다른 명령 버튼이 등장하게 만들려면? (javascriipt)

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Hover Effect</title>
    <style>
      #hover-object {
        border: 1px solid rgb(219, 212, 212);
        width: 200px;
        height: 200px;
        background-color: #f0f0f0;
        position: relative; /* 부모 요소에 position: relative;를 설정하여 자식 요소를 상대적으로 배치 */
      }

      .command-btn {
        display: none; /* 버튼 숨기기 */
        position: absolute; /* 부모 요소를 기준으로 자식 요소를 배치 */
        top: 50%; /* 부모 요소의 세로 중앙 위치 */
        left: 50%; /* 부모 요소의 가로 중앙 위치 */
        transform: translate(-50%, -50%); /* 버튼의 중앙 정렬 */
        background-color: #4caf50;
        color: white;
        padding: 8px 16px;
        border: none;
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div id="hover-object">
      <button class="command-btn">명령 버튼</button>
    </div>

    <script>
      var hoverObject = document.getElementById('hover-object');
      var commandBtn = document.querySelector('.command-btn');

      hoverObject.addEventListener('mouseover', function () {
        commandBtn.style.display = 'block'; // 버튼 보이기
      });

      hoverObject.addEventListener('mouseout', function () {
        commandBtn.style.display = 'none'; // 버튼 숨기기
      });
    </script>
  </body>
</html>

설명

 

hover-object라는 이름을 가진 요소를 찾아서 hoverObject라는 이름으로 저장해. 이건 마우스 커서가 올라가는 대상을 의미해. 마우스 커서가 이 요소 위에 올라가면 뭔가 특별한 일이 일어나게 할 거야.

그 다음으로 .command-btn라는 이름을 가진 버튼을 찾아서 commandBtn라는 이름으로 저장해. 이건 우리가 보이고 숨길 버튼을 의미해.

그리고 addEventListener라는 메서드를 사용해요. 이 메서드는 이벤트를 듣고 있게 해주는 거야. 여기서는 mouseover라는 이벤트를 듣고 있어. mouseover는 마우스 커서가 요소 위로 올라갔을 때 발생해. 그래서 마우스가 hover-object 요소 위에 올라가면 버튼이 보이게 할 거야.

함수 안에 commandBtn.style.display = 'block'; 이라는 줄이 있는데, 이게 버튼을 보이게 하는 역할을 해. style은 스타일을 변경할 때 사용하는 거야. display는 요소의 표시 방법을 나타내는데, 'block'을 지정하면 보이게 되지.

그리고 다음으로 mouseout라는 이벤트를 듣고 있어. mouseout은 마우스 커서가 요소를 벗어날 때 발생해. 그래서 마우스가 hover-object 요소를 벗어나면 버튼을 숨기게 할 거야.

함수 안에 commandBtn.style.display = 'none'; 이라는 줄이 있는데, 이게 버튼을 숨기는 역할을 해. style은 여기서도 스타일을 변경할 때 사용하는 거야. display를 'none'으로 지정하면 버튼이 보이지 않아.

그래서 결국 이 코드는 마우스가 hover-object 요소 위로 올라가면 버튼이 보이고, 마우스가 요소를 벗어나면 버튼이 숨겨지는 기능을 가지게 되는거야. 이렇게 하면 웹사이트에서 마우스를 사용해서 더 다양한 동작을 만들 수 있어!