先完成對應 Checkpoint,再用這張表定位卡住的責任;答案對照用來找位置,不用來整份覆蓋。
| 任務 | 完成標記 | 修改檔案 | 修改位置 | 可見結果 |
|---|---|---|---|---|
| TASK-01 | DONE-01 | script.js | getFilteredProducts() | 可以關鍵字、價格或兩者查找產品 |
| TASK-02 | DONE-02 | script.js | getPageItems()、render() | 查找結果每頁最多三筆,卡片與頁碼同步 |
| TASK-03 | DONE-03 | script.js | updateControls() | 首末頁按鈕正確停用,無查找結果時顯示 0 / 0 且兩鍵停用 |
操作驗收表
- TASK-01:先把 page 設成 3,再測商品 2、低於 200 元、200 元以上與商品 4+200 元以上;條件變更後 page=1,200 元的商品 3 只在「200 元以上」,清除關鍵字後恢復商品 3–7 共 5 筆。
- TASK-02:用全部 7 筆、pageSize=3 依序走第 1/2/3 頁;卡片身份為 1–3、4–6、7,卡片數為 3/3/1,結果總數始終為 7。
- TASK-03:走到第 3 頁、輸入不存在的關鍵字,再重點擊已停用按鈕;最後頁下一頁 disabled,空結果為 0 筆、第 0 / 0 頁、雙鍵 disabled,重點擊不改變 page 或卡片。
卡住時的最短回復路徑
- 先確認目前檔案與任務位置,再只重跑該列的輸入。
- 若卡片數不對,先查
getFilteredProducts()的結果,再查getPageItems()的slice起訖。 - 若頁碼或按鈕不同步,確認所有畫面更新是否集中在
render(),最後才查事件是否越界。