ボタンクリックのアニメーション
CoddyのHTMLジャーニー「JavaScript in Action」セクションの一部 — レッスン 20/27。
ボタンをクリックしたときに、縮小したり、光ったり、弾んだりといった、即座にフィードバックを返したい場合があります。JavaScriptを使用して、CSSアニメーションやトランジションをトリガーできます。
まず、HTMLにシンプルなボタンを作成します:
<button id="animatedButton">Click Me</button>次に、ボタンをスタイリングするための基本的なCSSを追加します:
#animatedButton {
padding: 10px 20px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: transform 0.2s, background-color 0.2s;
}次に、クリックアニメーションを作成するためのJavaScriptを追加します:
const button = document.getElementById('animatedButton');
button.addEventListener('click', function() {
// クリック効果のためのクラスを追加します
button.classList.add('button-clicked');
// アニメーション完了後にクラスを削除します
setTimeout(function() {
button.classList.remove('button-clicked');
}, 200);
});最後に、アニメーション効果のためのCSSを追加します:
.button-clicked {
transform: scale(0.95);
background-color: #45a049;
}クリックすると、ボタンがわずかに縮小して色が変わり、ユーザーに視覚的なフィードバックを提供します。
チャレンジ
簡単ボタンがクリックされたとき、視覚的なフィードバックのためにCSSクラス "button-clicked" を追加します。
クリックイベントリスナーの中に、このクラスを適用する行を追加してください。
自分で試してみよう
<!DOCTYPE html>
<html>
<head>
<title>Button Animation Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Interactive Button Demo</h1>
<p>Click the button below to see a smooth animation effect.</p>
</header>
<main class="content">
<button id="animatedButton" class="btn">Click Me</button>
</main>
<script src="script.js"></script>
</body>
</html>
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。