diff options
Diffstat (limited to 'assets/js/fullscreen.js')
-rw-r--r-- | assets/js/fullscreen.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/assets/js/fullscreen.js b/assets/js/fullscreen.js new file mode 100644 index 0000000..e3cc342 --- /dev/null +++ b/assets/js/fullscreen.js | |||
@@ -0,0 +1,49 @@ | |||
1 | // page | ||
2 | const fullscreen = document.getElementById('fullscreen'); | ||
3 | const fullscreenIcon = document.getElementById('fullscreen-icon'); | ||
4 | const smallscreenIcon = document.getElementById('smallscreen-icon'); | ||
5 | const elem = document.documentElement; | ||
6 | |||
7 | // Functions | ||
8 | |||
9 | function toggleFullscreen(event) { | ||
10 | // check if the event is a keydown event or a click event | ||
11 | if (event.type === 'keydown') { | ||
12 | // check if the key pressed is '/' key | ||
13 | if (event.key !== '/') return; | ||
14 | } | ||
15 | if (document.fullscreenElement) { | ||
16 | closeFullscreen(); | ||
17 | } else { | ||
18 | openFullscreen(); | ||
19 | } | ||
20 | } | ||
21 | |||
22 | function openFullscreen() { | ||
23 | smallscreenIcon.classList.toggle('hide'); | ||
24 | fullscreenIcon.classList.toggle('hide'); | ||
25 | if (elem.requestFullscreen) { | ||
26 | elem.requestFullscreen(); | ||
27 | } else if (elem.webkitRequestFullscreen) { /* Safari */ | ||
28 | elem.webkitRequestFullscreen(); | ||
29 | } else if (elem.msRequestFullscreen) { /* IE11 */ | ||
30 | elem.msRequestFullscreen(); | ||
31 | } | ||
32 | } | ||
33 | |||
34 | function closeFullscreen() { | ||
35 | smallscreenIcon.classList.toggle('hide'); | ||
36 | fullscreenIcon.classList.toggle('hide'); | ||
37 | if (document.exitFullscreen) { | ||
38 | document.exitFullscreen(); | ||
39 | } else if (document.webkitExitFullscreen) { /* Safari */ | ||
40 | document.webkitExitFullscreen(); | ||
41 | } else if (document.msExitFullscreen) { /* IE11 */ | ||
42 | document.msExitFullscreen(); | ||
43 | } | ||
44 | } | ||
45 | |||
46 | // Listeners | ||
47 | |||
48 | fullscreen.addEventListener('click', toggleFullscreen); | ||
49 | document.addEventListener('keydown', toggleFullscreen); \ No newline at end of file | ||