WeHelp
掌握 JavaScript 透過 HTML DOM 控制網頁畫面的技巧,製作各式各樣的互動功能。
  1. HTML DOM 簡介
  2. 取得、操作標籤
  3. 操作標籤樣式
  4. 基本事件處理
  5. JavaScript 事件處理
  6. 事件物件
  7. 圖片切換範例
  8. 淡入、淡出範例
  9. 跳出式視窗範例
  10. 倒數計時範例
HTML DOM 簡介
## HTML DOM 是什麼? DOM(Document Object Model,文件物件模型)是瀏覽器將 HTML 文件解析後,建立成一棵「物件樹」。 例如以下 HTML: ```html <html> <head> <title>我的網頁</title> </head> <body> <h1>歡迎</h1> <p>這是一段文字。</p> </body> </html> ``` 瀏覽器會將它表示成類似以下的樹狀結構: ```text document └── html ├── head │ └── title └── body ├── h1 └── p ``` JavaScript 可以透過 DOM 找到或修改 HTML 元素,例如: ```javascript document.querySelector("h1").textContent = "新的標題"; ``` 這段程式會找到 `<h1>` 元素,並修改它的文字內容。 --- ## `window` 物件 `window` 代表目前的瀏覽器視窗,是瀏覽器提供的全域物件。許多常用的物件都屬於 `window`,例如: - `window.document`:目前網頁的 DOM 文件 - `window.screen`:使用者螢幕資訊 - `window.innerWidth`、`window.innerHeight`:瀏覽器內容區域大小 - `window.location`:目前網址 - `window.history`:瀏覽記錄 由於 `window` 是全域物件,因此通常可以省略 `window.`: ```javascript window.document.title; document.title; ``` 兩者效果相同。 --- ## 範例:取得螢幕、主畫面與網頁標題 ```html <!DOCTYPE html> <html lang="zh-Hant"> <head> <meta charset="UTF-8"> <title>DOM 與 Window 範例</title> </head> <body> <h1>瀏覽器資訊</h1> <script> // 1. 取得整個螢幕的尺寸 const screenWidth = window.screen.width; const screenHeight = window.screen.height; // 2. 取得螢幕可使用的主畫面尺寸 // availWidth、availHeight 通常會扣除工作列、Dock 等系統區域 const availableWidth = window.screen.availWidth; const availableHeight = window.screen.availHeight; // 3. 取得目前網頁的標題 const pageTitle = window.document.title; console.log("螢幕寬度:", screenWidth); console.log("螢幕高度:", screenHeight); console.log("可使用的螢幕寬度:", availableWidth); console.log("可使用的螢幕高度:", availableHeight); console.log("網頁標題:", pageTitle); </script> </body> </html> ``` 假設螢幕解析度為 `1920 × 1080`,而作業系統的工作列佔用一部分空間,可能得到類似結果: ```text 螢幕寬度:1920 螢幕高度:1080 可使用的螢幕寬度:1920 可使用的螢幕高度:1040 網頁標題:DOM 與 Window 範例 ``` --- ## 相關尺寸的差異 ### 1. 整個螢幕尺寸 ```javascript window.screen.width window.screen.height ``` 表示使用者螢幕的寬度與高度,通常以 CSS 像素為單位。 ### 2. 螢幕可使用區域 ```javascript window.screen.availWidth window.screen.availHeight ``` 表示扣除作業系統工作列、Dock 等區域後,可以使用的螢幕空間。 ### 3. 瀏覽器網頁內容區域 如果要取得目前瀏覽器中,網頁可見內容區域的尺寸,可以使用: ```javascript window.innerWidth window.innerHeight ``` 例如: ```javascript console.log("目前網頁內容寬度:", window.innerWidth); console.log("目前網頁內容高度:", window.innerHeight); ``` 這個尺寸會隨著瀏覽器視窗大小改變,與整個螢幕尺寸不一定相同。 --- ## 修改網頁標題 可以讀取或修改 `document.title`: ```javascript console.log(document.title); // 修改瀏覽器分頁標題 document.title = "標題已被 JavaScript 修改"; ``` 因此: ```javascript window.document.title ``` 就是透過 `window` 物件取得目前網頁的標題。
相關學習地圖、教學課程
F2E 網站前端工程
從 0 開始,成為網站前端工程師的學習路徑。