返回任務地圖

把條件與導覽準備好

第 10 堂 · 第 1/3 關 · 觀念 18 分鐘+實作 42 分鐘

查看本堂完整六步
先接任務,準備開始

選單與搜尋,各有清楚的責任。

APPA帶你先畫清楚兩條操作路線,再請AI補上必要功能。

這關帶走:新增完整清除與三頁原生手機選單。

步驟 1/6 · 觀念 18 分鐘

先學一招:兩支腳本,各自負責一件事

分清作品篩選狀態與三頁導覽狀態。

帶上你的裝備

  • 自己正常portfolio的index.html、works.html、services.html、完整styles.css
  • 本機圖片、既有六筆資料;變更前副本與自己的Git基準
  • 七筆projects.js、四步條件表與三頁script標籤

projects.js負責作品搜尋與清除;navigation.js負責三頁選單。button執行開關,a前往位置;保留這個分工才不會為了修選單改壞搜尋。

button aria-controls="site-navigation"
aria-expanded="false"
nav id="site-navigation"

跟著觀察

  1. 指出哪支腳本負責作品、哪支負責選單。
  2. 看全部、分類與keyword需要一起重設的值。
  3. 辨認button執行動作與a導覽的差別。
清除條件時應同時重設?

選一個試試看,答錯也可以再試。

這是你的實際操作確認,小測不會替你勾選。

步驟 2/6 · 實作 42 分鐘

動手挑戰:把條件與導覽準備好

新增完整清除與三頁原生手機選單。

先準備

  • 自己正常portfolio的index.html、works.html、services.html、完整styles.css
  • 本機圖片、既有六筆資料;變更前副本與自己的Git基準
  • 七筆projects.js、四步條件表與三頁script標籤

親手改零筆提示為「沒有符合條件的作品,請試著換個關鍵字或分類。」再請AI補清除與手機選單。

照這個順序開始

  1. 先寫四步:全部七筆、交集一筆、零筆、清除七筆。
  2. 用生成Prompt加入清除按鈕及三頁共用navigation.js。
  3. 在390與1280操作,實際用Tab/Enter/Space/Escape測選單。

建立清除與三頁手機導覽

主要使用 Cursor 內建 AI;先附資料,再送出指令。

1.附上這些檔案與資料
  • 自己正常portfolio的index.html、works.html、services.html、完整styles.css
  • 本機圖片、既有六筆資料;變更前副本與自己的Git基準
  • 七筆projects.js、四步條件表與三頁script標籤
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 清除完整重設篩選;選單button狀態與顯示一致。
  • 三頁共用navigation.js,作品事件不受影響。
4.自己檢查結果
  • 清除後七筆、分類全部、keyword空白。
  • 三頁Enter/Space/Escape及桌面導覽可操作。
建立清除與三頁手機導覽 Prompt(可收合)

你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。

情境與本次輸入:承接第9堂七筆資料的搜尋作品頁。新增三頁共用navigation.js,699px以下用原生button控制site-navigation,700px起導覽可見。加入本頁內容#main連結供同頁關閉驗收;作品搜尋仍由projects.js管理。APPA、紫綠tokens與原網格保留。

本次任務:保留七筆作品搜尋,加入清除條件button,同時重設keyword、category、aria-pressed與筆數,清除後聚焦搜尋框。新增navigation.js管理三頁共用原生button,aria-controls=site-navigation、aria-expanded同步;699px以下收合、700px起導覽可見。Enter/Space原生可開關,Escape關閉且還焦點,尺寸切換重設窄版狀態。三頁nav保留原href並新增本頁內容#main連結供測試;這次先不加點連結收起。未啟用JS時導覽仍可見。各腳本只載入一次,保留APPA、色票、網格與既有焦點,不加遮罩、框架或登入。列四步篩選與三頁鍵盤驗收。

請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。
Cursor AI 無法使用?改用 ChatGPT 備援

把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。

收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。

兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。

複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。

卡住時,APPA 給你一點線索

線索 1|先找現象與證據

先看清除事件有沒有同時重設category與search.value。

線索 2|再縮小修改範圍

窄版隱藏只由JS啟動後控制;桌面切回要恢復可見。

回到自己的作品,逐項檢查

  • 清除後七筆、分類全部、keyword空白。
  • 三頁Enter/Space/Escape及桌面導覽可操作。
  • 未實際完成的AI、發布或裝置驗收記待完成。
需要對照?看這一關的參考成果

先檢查自己的作品,再對照差異。開啟參考不會算完成。

對照這一步的結果(另開分頁)

尚未完成可以先往下看,之後再回來補做。

你可以從零筆,重新找到全部作品。

保留自己的修改差異與檢查結果。完成兩項操作確認再往下一關;也可以先閱讀,稍後補做。

關卡紀錄由你自行確認;本頁不會讀取 Cursor 檔案或自動驗收作品。

留下自己的檢查紀錄

這是第 10 堂共用筆記,換關卡仍會保留。未實際做過的操作寫「待完成」。

重設會清除第 10 堂六步勾選,筆記、另一堂進度與網站檔案保留。