자바스크립트로 전화벨이 울리는 애니메이션 만들기

이번 블로그에서는 자바스크립트를 사용하여 전화벨이 울리는 애니메이션을 만들어보겠습니다.

1. HTML 작성하기

먼저, HTML 파일을 생성하고 아래와 같이 코드를 작성해주세요.

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="phone-container">
    <div class="bell"></div>
    <div class="phone"></div>
  </div>

  <script src="script.js"></script>
</body>
</html>

2. CSS 작성하기

다음으로, CSS 파일을 생성하고 아래와 같이 코드를 작성해주세요. 이 코드는 전화벨 애니메이션의 스타일을 정의하는 역할을 합니다.

.phone-container {
  position: relative;
  width: 200px;
  height: 200px;
}

.bell {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-bottom: none;
  border-radius: 50%;
}

.phone {
  position: absolute;
  top: 120px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 80px;
  background-color: #000;
  border-radius: 10px;
}

.ringing {
  animation: bell-ring 0.5s infinite alternate;
}

@keyframes bell-ring {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

3. JavaScript 작성하기

이제, JavaScript 파일을 생성하고 아래와 같이 코드를 작성해주세요. 이 코드는 클릭 이벤트가 발생했을 때 전화벨 애니메이션을 시작하는 역할을 합니다.

const bell = document.querySelector('.bell');

bell.addEventListener('click', () => {
  bell.classList.add('ringing');
  setTimeout(() => {
    bell.classList.remove('ringing');
  }, 500);
});

4. 실행해보기

위의 모든 파일을 생성한 후, 웹 브라우저에서 HTML 파일을 열어서 결과를 확인해보세요. 전화벨을 클릭하면 애니메이션이 시작되고, 0.5초 후에 애니메이션이 종료됩니다.

이렇게 자바스크립트를 사용하여 전화벨이 울리는 애니메이션을 만들 수 있습니다.

“#javascript” “#animation”

참고 자료