@@ -6,8 +6,10 @@ const skipBtn = player.querySelectorAll('[data-skip]');
66const range = player . querySelectorAll ( 'input[type=range]' ) ;
77const progress = player . querySelector ( '.progress' ) ;
88const filled = player . querySelector ( '.progress__filled' ) ;
9+ const fullscreen = player . querySelector ( '.fullscreen' ) ;
910
1011toggle . addEventListener ( 'click' , togglePlay ) ;
12+ fullscreen . addEventListener ( 'click' , fullscreenToggle ) ;
1113video . addEventListener ( 'click' , togglePlay ) ;
1214
1315video . addEventListener ( 'pause' , updateButton ) ;
@@ -60,4 +62,38 @@ function togglePlay(){
6062function updateButton ( ev ) {
6163 let icon = ev . type === 'pause' ? '►' : '■' ;
6264 toggle . textContent = icon ;
65+ }
66+
67+
68+ let body = document . body ;
69+
70+ document . addEventListener ( 'fullscreenchange' , handlerFullscreenchange ) ;
71+ document . addEventListener ( 'mozfullscreenchange' , handlerFullscreenchange ) ;
72+ document . addEventListener ( 'webkitfullscreenchange' , handlerFullscreenchange ) ;
73+
74+ function handlerFullscreenchange ( ) {
75+ body . classList . toggle ( 'fullscreen' ) ;
76+ }
77+
78+ function fullscreenToggle ( ) {
79+ var elem = document . body
80+ if ( ! body . classList . contains ( 'fullscreen' ) ) {
81+ if ( elem . requestFullscreen ) {
82+ elem . requestFullscreen ( ) ;
83+ } else if ( elem . mozRequestFullScreen ) {
84+ elem . mozRequestFullScreen ( ) ;
85+ } else if ( elem . webkitRequestFullscreen ) {
86+ elem . webkitRequestFullscreen ( ) ;
87+ }
88+ } else {
89+ if ( document . exitFullscreen ) {
90+ document . exitFullscreen ( ) ;
91+ } else if ( document . webkitExitFullscreen ) {
92+ document . webkitExitFullscreen ( ) ;
93+ } else if ( document . mozCancelFullScreen ) {
94+ document . mozCancelFullScreen ( ) ;
95+ } else if ( document . msExitFullscreen ) {
96+ document . msExitFullscreen ( ) ;
97+ }
98+ }
6399}
0 commit comments