返回任務地圖

讓兩個條件一起生效

第 9 堂 · 第 2/3 關 · 觀念 18 分鐘+實作 42 分鐘

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

兩個條件,交給同一個判斷。

APPA把搜尋與分類的線索放在一起,陪你用筆數確認邏輯。

這關帶走:完成可交集的搜尋分類,知道每次應有幾筆。

步驟 3/6 · 觀念 18 分鐘

先學一招:事件、篩選與重新顯示

理解搜尋與分類需要同時符合。

帶上你的裝備

  • 自己正常portfolio的index.html、works.html、services.html、完整styles.css
  • 本機圖片、既有六筆資料;變更前副本與自己的Git基準
  • 七筆資料的projects.js與自己的四組預期表

輸入與點按只更新條件,filter從七筆資料找交集,再由render更新畫面。切分類不能偷偷清關鍵字;零筆時也必須清掉舊卡片。

const matched = categoryMatch && titleMatch;
// 網站+晨光:1筆;攝影+晨光:0筆

跟著觀察

  1. 用一筆晨光作品說明兩條件是否都符合。
  2. 比較全部空查詢與攝影+晨光。
  3. 指出筆數、選取狀態與卡片應一起更新。
網站+晨光,應顯示?

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

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

步驟 4/6 · 實作 42 分鐘

動手挑戰:讓兩個條件一起生效

完成可交集的搜尋分類,知道每次應有幾筆。

先準備

  • 自己正常portfolio的index.html、works.html、services.html、完整styles.css
  • 本機圖片、既有六筆資料;變更前副本與自己的Git基準
  • 七筆資料的projects.js與自己的四組預期表

親手寫下四組預期筆數;用修改Prompt加入控制,再自己輸入與切分類。

照這個順序開始

  1. 先記全部7、網站+晨光1、攝影+晨光0、不存在0。
  2. 限定AI加入標題搜尋與四分類,不改作品資料。
  3. 實測trim空白、分類保留關鍵字、零筆與鍵盤入口。

加入分類與標題搜尋

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

1.附上這些檔案與資料
  • 自己正常portfolio的index.html、works.html、services.html、完整styles.css
  • 本機圖片、既有六筆資料;變更前副本與自己的Git基準
  • 七筆資料的projects.js與自己的四組預期表
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 新增輸入、四分類、即時筆數與零筆文字。
  • 使用&&交集,安全渲染,資料不改。
4.自己檢查結果
  • 四組預期符合,切分類保留關鍵字。
  • 空白trim、按鈕選取與結果數同步,零筆沒有殘留卡片。
加入分類與標題搜尋 Prompt(可收合)

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

情境與本次輸入:承接第8堂六張靜態作品、APPA、原紫綠tokens、4:3圖片框與600/1024斷點。將六筆資料移入projects.js,欄位為唯一id、title、category、image、alt、summary、width、height及首筆reference。分類品牌兩筆、網站兩筆、攝影兩筆,晨光工作室網站屬網站。學生另加photo-03雨後街角,沿用work-layout.jpg且如實標為示意;不新增後端。

本次任務:在現有七筆projects.js作品頁加入標題搜尋與全部/品牌/網站/攝影四個原生button,aria-pressed反映目前分類。關鍵字trim並不分英文大小寫,只查title;搜尋與分類必須同時符合(&&),切分類保留關鍵字。每次更新筆數,零筆清掉舊卡片並有明確文字。只改works.html、projects.js與必要控制CSS,保留七筆資料、網格、圖片、APPA與其他頁。這堂不加清除按鈕或手機選單,列全部7/網站晨光1/攝影晨光0/無結果0與鍵盤待驗。

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

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

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

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

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

卡住時,APPA 給你一點線索

線索 1|先找現象與證據

先核對trim後的keyword與目前category。

線索 2|再縮小修改範圍

每次先清容器,再把符合資料畫出來;零筆不能留舊卡片。

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

  • 四組預期符合,切分類保留關鍵字。
  • 空白trim、按鈕選取與結果數同步,零筆沒有殘留卡片。
  • 未實際完成的AI、發布或裝置驗收記待完成。
需要對照?看這一關的參考成果

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

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

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

你能用筆數,確認互動真的符合需求。

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

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

留下自己的檢查紀錄

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

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