File tree Expand file tree Collapse file tree 2 files changed +37
-1
lines changed Expand file tree Collapse file tree 2 files changed +37
-1
lines changed Original file line number Diff line number Diff line change 1414 < div class ="progress ">
1515 < div class ="progress__filled "> </ div >
1616 </ div >
17- < button class ="player__button toggle " title ="Toggle Play "> ► </ button >
17+ < button class ="player__button toggle " title ="Toggle Play "> ▶️ </ button >
1818 < input type ="range " name ="volume " class ="player__slider " min =0 max ="1 " step ="0.05 " value ="1 ">
1919 < input type ="range " name ="playbackRate " class ="player__slider " min ="0.5 " max ="2 " step ="0.1 " value ="1 ">
2020 < button data-skip ="-10 " class ="player__button "> « 10s</ button >
Original file line number Diff line number Diff line change 1+ const player = document . querySelector ( '.player' )
2+ const video = player . querySelector ( 'video' )
3+ const progress = player . querySelector ( '.progress' )
4+ const progressBar = player . querySelector ( '.progress__filled' )
5+ const toggle = player . querySelector ( '.toggle' )
6+ const skipButtons = player . querySelectorAll ( '[data-skip]' )
7+ const ranges = player . querySelectorAll ( '.player__slider' )
8+
9+ function togglePlay ( ) {
10+ if ( video . paused ) {
11+ video . play ( )
12+ } else {
13+ video . pause ( )
14+ }
15+ }
16+
17+ function skip ( ) {
18+ const seconds = Number ( this . dataset . skip )
19+ video . currentTime += seconds
20+ }
21+
22+ function updatePlayButton ( ) {
23+ toggle . innerHTML = this . paused ? '▶️' : '⏸'
24+ }
25+
26+ function updateRange ( ) {
27+ const attribute = this . getAttribute ( 'name' )
28+ video [ attribute ] = Number ( this . value )
29+ }
30+
31+ video . addEventListener ( 'click' , togglePlay )
32+ video . addEventListener ( 'play' , updatePlayButton )
33+ video . addEventListener ( 'pause' , updatePlayButton )
34+ toggle . addEventListener ( 'click' , togglePlay )
35+ skipButtons . forEach ( btn => btn . addEventListener ( 'click' , skip ) )
36+ ranges . forEach ( range => range . addEventListener ( 'click' , updateRange ) )
You can’t perform that action at this time.
0 commit comments