【JS30-1】JavaScript Drum Kit

更新 發佈閱讀 2 分鐘
raw-image


想要找個地方記錄自己寫 JavaScript 30 挑戰時額外的小筆記
寫得很隨興,如果路過不小心看到請當作什麼都沒看到🙈
JavaScript30 傳送門:https://javascript30.com/
第一個挑戰是寫一個 keydown 事件並讓頁面隨著不同的按鍵發出不同的聲音。


Play()


在挑戰中寫到了以下這段程式碼:

<script>
window.addEventListener('keydown', (e)=>{
const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`)
audio.play()
})
</script>


突然很好奇,play() 是誰提供的 API?為什麼寫了 play(),就能播放音擋了?

查了 MDN,在 Web APIs > HTMLMediaElement 找到了:

The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video.
(HTMLMediaElement 介面為 HTMLElement 新增了支援音訊和視訊常見的基本媒體相關功能所需的屬性和方法。)




transitionend 事件


在挑戰中,需要在為 div 加上 className 後再移除,因此寫到了:

addEventListener("transitionend", removeTransition);


才知道原來有 CSS 過渡相關的 event,包含但不限:

  1. transitionrun
  2. transitionstart
  3. transitionend

這三個 event,分別會在 CSS transition 前、開始、結束後執行。



留言
avatar-img
留言分享你的想法!
avatar-img
hunwooooof
1會員
6內容數
肚子餓了
hunwooooof的其他內容
2024/05/30
JavaScript30 傳送門:https://javascript30.com/ 寫到挑戰六覺得心累ㄌ,向來不是一個可以長久堅持好習慣的人,30 個挑戰聽起來很少,但如果要日復一日堅持下去其實好長r 😮‍💨 挑戰六透過 input 來 filter 從 api 拿回來的資料結
Thumbnail
2024/05/30
JavaScript30 傳送門:https://javascript30.com/ 寫到挑戰六覺得心累ㄌ,向來不是一個可以長久堅持好習慣的人,30 個挑戰聽起來很少,但如果要日復一日堅持下去其實好長r 😮‍💨 挑戰六透過 input 來 filter 從 api 拿回來的資料結
Thumbnail
2024/05/29
JavaScript30 傳送門:https://javascript30.com/ 挑戰5透過玩弄 flex-grow 屬性來操作網頁裡的卡片效果,看別人的成果:yhabib.github.io 本次學習心得: 製造過度效果延遲的方法:transition-delay V.S
Thumbnail
2024/05/29
JavaScript30 傳送門:https://javascript30.com/ 挑戰5透過玩弄 flex-grow 屬性來操作網頁裡的卡片效果,看別人的成果:yhabib.github.io 本次學習心得: 製造過度效果延遲的方法:transition-delay V.S
Thumbnail
2024/05/28
JavaScript30 傳送門:https://javascript30.com/ Console.table 第四個練習是透過一些 array method 來操作 array 資料。 整個練習最讓我 WOW 的,是 console.table,竟然有這麼酷的 console
Thumbnail
2024/05/28
JavaScript30 傳送門:https://javascript30.com/ Console.table 第四個練習是透過一些 array method 來操作 array 資料。 整個練習最讓我 WOW 的,是 console.table,竟然有這麼酷的 console
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章是一位咖啡愛好者分享他在雙11前的購物規劃。他不僅推薦了自己喜愛的咖啡豆品牌(如李董、音樂家系列)與手沖器材,還分享了實用的挑豆技巧。同時,他記錄了一項個人實驗:剛加入「蝦皮分潤計畫」,想測試透過分享真心喜愛的商品,是否能為自己的咖啡開銷「回血」。
Thumbnail
這篇文章是一位咖啡愛好者分享他在雙11前的購物規劃。他不僅推薦了自己喜愛的咖啡豆品牌(如李董、音樂家系列)與手沖器材,還分享了實用的挑豆技巧。同時,他記錄了一項個人實驗:剛加入「蝦皮分潤計畫」,想測試透過分享真心喜愛的商品,是否能為自己的咖啡開銷「回血」。
Thumbnail
出國旅行時,準備充分的行李能讓旅程更加輕鬆愉快!本文整理了大人旅行的全方位行李清單,從護照、信用卡到各種旅行好物一應俱全。特別是防盜小物、瞬熱熱水壺和過濾蓮蓬頭等必備單品,讓你的旅行更舒適、安全。此外,還介紹了蝦皮分潤計劃,讓你在購物的同時還能輕鬆賺取分潤,無論是準備行李還是購物分享,都是不錯的選擇
Thumbnail
出國旅行時,準備充分的行李能讓旅程更加輕鬆愉快!本文整理了大人旅行的全方位行李清單,從護照、信用卡到各種旅行好物一應俱全。特別是防盜小物、瞬熱熱水壺和過濾蓮蓬頭等必備單品,讓你的旅行更舒適、安全。此外,還介紹了蝦皮分潤計劃,讓你在購物的同時還能輕鬆賺取分潤,無論是準備行李還是購物分享,都是不錯的選擇
Thumbnail
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
Thumbnail
JSDoc 全名是 JavaScript Documentation,顧名思義是為 JavaScript 所使用的 API 文件,在程式碼內透過註解的方式撰寫,運行後 JSDoc 會自動掃描註解內容,並生成一份網頁版的文件,對於沒有使用 Typescript 開發的專案,也
Thumbnail
字數剛好3000字:) 按發布的時候突然當掉嚇歪本咚 還好沒有不見
Thumbnail
字數剛好3000字:) 按發布的時候突然當掉嚇歪本咚 還好沒有不見
Thumbnail
本章目的是為讀者提供有關如何設置JavaScript開發環境的知識,包括在瀏覽器、Node.js和各種編輯器和IDE中編寫和運行JavaScript的信息。此外,本章還介紹了如何架設本地開發伺服器以模擬實際的網頁環境。這些知識對於希望開發前端應用或後端服務的JavaScript開發者來說都是必要的。
Thumbnail
本章目的是為讀者提供有關如何設置JavaScript開發環境的知識,包括在瀏覽器、Node.js和各種編輯器和IDE中編寫和運行JavaScript的信息。此外,本章還介紹了如何架設本地開發伺服器以模擬實際的網頁環境。這些知識對於希望開發前端應用或後端服務的JavaScript開發者來說都是必要的。
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
JavaScript是一種具有動態型別、弱型別、原型繼承等特性的高級腳本語言,應用範圍廣泛,包括前端開發、後端開發、移動應用等。它被各種公司和開源社區廣泛使用。學習JavaScript需要掌握ECMAScript標準、異步編程、模塊系統等知識。
Thumbnail
JavaScript是一種具有動態型別、弱型別、原型繼承等特性的高級腳本語言,應用範圍廣泛,包括前端開發、後端開發、移動應用等。它被各種公司和開源社區廣泛使用。學習JavaScript需要掌握ECMAScript標準、異步編程、模塊系統等知識。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News