WeHelp
掌握 JavaScript 透過 HTML DOM 控制網頁畫面的技巧,製作各式各樣的互動功能。
  1. HTML DOM 簡介
  2. 取得、操作標籤
  3. 操作標籤樣式
  4. 基本事件處理
  5. JavaScript 事件處理
  6. 事件物件
  7. 圖片切換範例
  8. 淡入、淡出範例
  9. 跳出式視窗範例
  10. 倒數計時範例
淡入、淡出範例
以下範例會先顯示一張半透明圖片: - 初始狀態:`opacity: 0.5` - 滑鼠移入:圖片淡入至完全不透明 - 滑鼠移出:圖片淡出回半透明狀態 ## 完整範例 ```html <!DOCTYPE html> <html lang="zh-Hant"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>圖片淡入淡出效果</title> <style> .image-box { width: 400px; margin: 50px auto; text-align: center; } .fade-image { width: 100%; display: block; /* 初始為半透明 */ opacity: 0.5; /* 設定淡入、淡出動畫時間 */ transition: opacity 0.8s ease; } /* JavaScript 加上 active 後,圖片變成完全不透明 */ .fade-image.active { opacity: 1; } </style> </head> <body> <div class="image-box"> <img id="myImage" class="fade-image" src="https://picsum.photos/800/500" alt="示範圖片" > </div> <script> const image = document.getElementById("myImage"); // 滑鼠移入圖片時,加入 active 類別 image.addEventListener("mouseenter", function () { image.classList.add("active"); }); // 滑鼠移出圖片時,移除 active 類別 image.addEventListener("mouseleave", function () { image.classList.remove("active"); }); </script> </body> </html> ``` ## 運作原理 ### 1. HTML ```html <img id="myImage" class="fade-image" src="圖片網址" alt="示範圖片"> ``` `img` 元素用來顯示圖片,並設定: - `id="myImage"`:讓 JavaScript 找到這張圖片 - `class="fade-image"`:套用 CSS 樣式 ### 2. CSS ```css .fade-image { opacity: 0.5; transition: opacity 0.8s ease; } ``` - `opacity: 0.5`:圖片一開始呈現半透明 - `transition: opacity 0.8s ease`:讓透明度變化在 0.8 秒內平滑完成 當圖片具有 `active` 類別時: ```css .fade-image.active { opacity: 1; } ``` 圖片會變成完全不透明。 ### 3. JavaScript 滑鼠移入時: ```javascript image.classList.add("active"); ``` 加入 `active` 類別,觸發淡入效果。 滑鼠移出時: ```javascript image.classList.remove("active"); ``` 移除 `active` 類別,回到 `opacity: 0.5`,產生淡出效果。 ## 更簡潔的做法:只使用 CSS 如果不一定要使用 JavaScript,也可以直接使用 CSS 的 `:hover`: ```html <img class="fade-image" src="https://picsum.photos/800/500" alt="示範圖片"> ``` ```css .fade-image { width: 400px; opacity: 0.5; transition: opacity 0.8s ease; } .fade-image:hover { opacity: 1; } ``` 這種方式效果相同,但使用 JavaScript 的版本更方便日後加入其他互動功能,例如點擊圖片、切換圖片或控制動畫狀態。
相關學習地圖、教學課程
F2E 網站前端工程
從 0 開始,成為網站前端工程師的學習路徑。