實戰:圖片切換器與歡迎訊息

我們已經學會 JavaScript 的基礎了。接下來用兩個實際的小功能來練習。

圖片切換器

main.js
1var myImage = document.querySelector("img");
2myImage.onclick = function() {
3 let mySrc = myImage.getAttribute("src");
4 if (mySrc === "images/sun.png") {
5 myImage.setAttribute("src", "images/moon.png");
6 } else {
7 myImage.setAttribute("src", "images/sun.png");
8 }
9};
預覽
點擊圖片切換

程式碼拆解:

1

取得圖片元素的參考存到 myImage

2

設定 onclick 事件處理器

3

每次點擊:取得 src 屬性的值

4

用 if/else 判斷目前是哪張圖

5

切換到另一張

客製化歡迎訊息

index.html
<button>Change user</button>
main.js
var myButton = document.querySelector("button");
var myHeading = document.querySelector("h1");

function setUserName() {
  let myName = prompt("Please enter your name.");
  if (!myName || myName === null) {
    setUserName();
  } else {
    localStorage.setItem("name", myName);
    myHeading.innerHTML = "歡迎你," + myName;
  }
}

if (!localStorage.getItem("name")) {
  setUserName();
} else {
  let storedName = localStorage.getItem("name");
  myHeading.innerHTML = "歡迎你," + storedName;
}

myButton.onclick = function() {
  setUserName();
};
index.html

歡迎你

localStorage 的作用:即使關掉網頁,下次打開名字還在。瀏覽器會幫你把資料存在本機。
null 檢查:如果使用者按取消或不輸入,要重新詢問。程式碼用 !myName || myName === null 來處理這個情況。
🎉

我們只稍稍體驗了 JavaScript 的一些皮毛。但你已經學會了:

📦
變數
儲存資料
⚙️
函式
打包功能
🖱️
事件
回應使用者動作
🔄
DOM 操作
改變網頁內容
💾
localStorage
儲存使用者偏好

這些就是所有網頁互動的基礎。