JS30 01 : JS Drumkit Key event handlers Data attributes HTML audio 02 : JS & CSS Clock Transforms 03 : Updating CSS variables CSS variables 04 : Array Cardio Javascript array methods 05 : Flexbox panels Flexbox transitions 06 : AJAX Look Forward Promises AJAX fetch 07 : Array Cardio 2 More array methods 08 : HTML5 Canvas Canvas 09 : Console tricks No solution 10 : Check boxes Multiple selections 11 : Custom video Custom video elements 12 : Konami Code Key sequence detection 12 : Sliding images Window positioning 14 : Copies & Arrays No solution 15 : Tapas Menu Using Local Storage 16 : CSS Mouse shadow Mouse positioning 17 : Sorting Without Articles Sorting 18 : Calculating time Array reduction 19 : Webcam Fun Accessing User Media Manipulating image data 20 : Voice Recognition Native voice recognition 21 : Geolocation (Mobile only) Navigator 22 : Follow links Bounding Client Rectangles 23 : Speech Synthesis Native text to speech synthesis 24 : Sticky Nav Body classes Fixed positioning 25 : Event Propagation Event capture Event bubbling 'once' 26 : Navbar Follow Links Bounding Client Rectangle 27 : Draggable Scroll Scolling properties Relative mouse positions 28 : Video Playback Speed Video Playback Rate 29 : Countdown Intervals Time 30 : Whack a Mole Game