前言
本文為「JavaScript 30」教學影片的學習筆記。
目標
製作出可以用鍵盤敲出特定樂器聲的效果。
筆記
在 keydown 事件後觸發 playSound() 方法。
1 | window.addEventListener('keydown', playSound); |
addEventListener()方法會為元素添加事件。
選擇所有樣式為 key 的元素。
1 | const keys = document.querySelectorAll('.key'); |
querySelectorAll()方法會找到所有匹配的元素並返回類陣列。
讓 keys 類陣列中的每一個元素在 transitionend 事件後觸發 removeTransition() 方法。
1 | keys.forEach(key => key.addEventListener('transitionend', removeTransition)); |
forEach()會將類陣列內的每個元素皆傳入並執行給定的方法一次。transitionend事件會在CSS transition結束後觸發。
設定一個 playSound() 方法。
1 | function playSound(e) { |
e是用來傳入event物件的參數。- 用反引號(``)圍住的語法為 ES 6 的新語法--樣板字串。
- 占位符
${expression}可以實現多行字串及字符串插値。 return會返回undefined。keyCode屬性是onkeypress等事件觸發的鍵盤代碼。
設定一個 removeTransition() 的方法。
1 | function removeTransition(e) { |