본문 바로가기
프론트엔드 HTML CSS JAVASCRIPT

[HTML, JAVASCRIPT] 버튼 클릭 시 이미지를 변경하는 방법

by jaewooojung 2019. 8. 9.

HTML JAVASCRIPT


HTML 이미지 동적으로 변경하는 방법(버튼 클릭)

이미지와 버튼이 있습니다.

<!DOCTYPE html>
<html>
  <head>
    <style>
      .container {
        width: 500px;
        height: 500px;
        text-align: center;
      }
      #img {
        width: 100%;
        height: 100%;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <img id="img" src="./images/eiffel.jpg" />
      <button>toggle</button>
    </div>
  </body>
</html>

이미지와 버튼

 

프로젝트 구조

루트에는 index.html 파일과 함께 이미지 폴더 내부에 두 개의 이미지가 있습니다.

폴더 구조

 

button을 클릭하면 현재 eiffel.jpg로 설정되어 있는 이미지가 rose.jpg로 바뀌도록 구현해보겠습니다.
 

1. 함수 생성

먼저 이미지를 바꾸는 기능을 수행하는 함수를 생성합니다.
 
자바스크립트 함수이므로 <script> 태그 안에 생성해 줍니다. 다른 부분 동일하므로 <body> 내부만 보겠습니다.

<body>
  <div class="container">
    <img id="img" src="./images/eiffel.jpg" />
    <button>toggle</button>
  </div>
  <script>
    function toggleImg() {
      document.getElementById("img").src = "./images/rose.jpg";
    }
  </script>
</body>

toggleImg() 함수를 생성했습니다.
getElementById로 img태그를 가져온 후 src 속성을 바꿔주는 함수입니다.

 

2. 이벤트 핸들러

다음으로 button의 onclick 이벤트 핸들러에 toggleImg() 함수를 전달해 주면 됩니다.

<body>
  <div class="container">
    <img id="img" src="./images/eiffel.jpg" />
    <button onclick="toggleImg()">toggle</button>
  </div>
  <script>
    function toggleImg() {
      document.getElementById("img").src = "./images/rose.jpg";
    }
  </script>
</body>

이제 button을 클릭하면 toggleImg()함수가 실행됩니다.

 

toggle을 클릭하면 아래와 같이 rose로 이미지가 변경됩니다.

rose로 변경된 img



        
답변을 생성하고 있어요.