Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 6.17 KB

readme.md

File metadata and controls

26 lines (22 loc) · 6.17 KB

JavaScript30-Challenge

這是由 JavaScript30 所提供的 30 個 JavaScript 主題的練習挑戰。

此專案包含了我自己的心得和練習紀錄,每個挑戰都很可以學到不少東西呢!

Challenge List

No 主題 學習重點 筆記 DEMO
01 JavaScript Drum Kit ▸ keydown event & keyCode
▸ playing audio
▸ listening for transition end event
▸ dealing with animation event
筆記 DEMO
02 JS and CSS Clock ▸ CSS transition-timing-function
▸ turn the dateTime into the degrees
▸ 設置 HTML 元素到指定的位置與特定的大小
筆記 DEMO
03 Playing with CSS Variables and JS ▸ how to get/set CSS Variable in JS
▸ 綁定操作 HTML 滑動條 & 色彩選擇器
▸ 取得 HTML 元素上的 data-*="" 的內容值
筆記 DEMO
04 Array Cardio Day 1 ▸ Array prototype method :
    - sort, map, filter, reduce
▸ 可以把資料做過濾或加工處理
▸ 取得/設置 HTML 元素內文 el.textContent
筆記 DEMO
05 Flex Panels Image Gallery ▸ CSS flexbox :
    - 三層巢狀 flex、垂直置中、平均分配空間
▸ CSS transition,動畫移動過程的變化感
element.classList 的方法 :
    - add, remove, toggle, contains
筆記 DEMO
06 Ajax Type Ahead ▸ use fetch() get the data from ajax
▸ use RegExp()
▸使用正規表示式去尋找文字 & 替換文字
    - String.match() & String.replace()
▸ 輸入搜尋文字,顯示列表清單 (資料流畫面)
筆記 DEMO
07 Array Cardio Day 2 ▸ Array prototype method :
    - some, every, find, findIndex
    - splice, slice
筆記 DEMO
08 Fun with HTML5 Canvas ▸ 待完成 - - - - - - -
09 14 Must Know Dev Tools Tricks ▸ 使用 Chrome 開發者工具展示 中斷偵錯
▸ 全域變數 console 方法的各種用法
筆記 DEMO
10 Hold Shift and Check Checkboxes ▸ 使用純 CSS 觸發清單項目的改變
    - input:checked + 樣式或選擇器
▸ 深入研究 HTML DOM checkbox
▸ 監聽事件 click + 鍵盤按鍵,做出更多功能
筆記 DEMO
11 Custom Video Player ▸ 待完成 - - - - - - -
12 Key Sequence Detection ▸ 使用Array.splice()做序列修改與限制字數
▸ 使用 ES6 Spread 讓字串分解為單一字元
筆記 DEMO
13 Slide In on Scroll ▸ 監聽事件 scroll 的使用
▸ debounce 函數,防止觸發過多的監聽事件
▸ 視窗位於頁面中的絕對位置 & 長寬大小
    - scrollYscrollX
    - innerHeightinnerWidth
▸ HTML DOM 元素的絕對位置 & 長寬大小
    - offsetTopoffsetLeft
    - offsetHeightoffsetWidth
筆記 DEMO
14 Object and Arrays - Reference VS Copy ▸ Object & Array 的傳值參考與複製
▸ JS 的淺拷貝和深拷貝 (Deep clone)
筆記 DEMO
15 Slide In on Scroll ▸ 使用 LocalStorage 暫存資料
▸ Event Delegation 事件委託
▸ 使 form submit 事件不再刷新頁面
    - event.preventDefault() 防止預設動作
▸ 使用 CSS 自訂 checkbox
▸ 使用原生 JS 做頁面 DOM 元素新增功能
    - element.appendChild() 內層加入子元素
筆記 DEMO
16 ... ▸ 待完成