↓↓↓ クリックしてみてね ↓↓↓
Box-Area
「クリック」ボタンがクリックされると、.box
要素が赤く拡大し、1秒後に元の青い状態に戻るシンプルなアニメーションを実現しています。このアニメーションは、CSSのトランジションを使用してスムーズに実行され、JavaScriptが要素のスタイルを変更することでトリガーされます。
HTML (index.html):
- HTMLファイルは、基本的な構造を持つウェブページを定義しています。
<div>
要素と<button>
要素が中央に配置されています。 - ページのヘッダーで、文字エンコーディングとビューポート設定を指定し、外部のCSSファイル(styles.css)とJavaScriptファイル(script.js)を読み込んでいます。
CSS (style.css):
- CSSファイルは、
.box
クラスにスタイルを適用しています。 .box
クラスは、幅と高さを100pxに設定し、背景色を青に設定します。transition
プロパティを使用して、幅、高さ、背景色の変更が1秒かけてアニメーション化されるように設定されています。
JavaScript (script.js):
- JavaScriptファイルでは、
getElementById
メソッドを使用して、HTMLから要素を取得しています。 animateButton
ボタンがクリックされたときに、click
イベントリスナーが呼び出され、アニメーションが開始されます。box
要素の幅、高さ、背景色が変更され、これによりアニメーションがトリガーされます。setTimeout
関数を使用して、1秒後に要素のスタイルを元に戻すコードが実行されます。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS Transitions</title> <link rel="stylesheet" href="styles.css"> </head> <body> <br> <center><div class="box" id="animated-box">Box-Area</div></center> <br> <center><button id="animate-button">クリック</button></center> <script src="script.js"></script> </body> </html>
.box { width: 100px; height: 100px; background-color: blue; transition: width 1s, height 1s, background-color 1s; text-align: center; line-height: 100px; color: white; cursor: pointer; }
const box = document.getElementById('animated-box'); const animateButton = document.getElementById('animate-button'); animateButton.addEventListener('click', () => { box.style.width = '200px'; box.style.height = '200px'; box.style.backgroundColor = 'red'; setTimeout(() => { box.style.width = '100px'; box.style.height = '100px'; box.style.backgroundColor = 'blue'; }, 1000); });