aboutsummaryrefslogtreecommitdiff
path: root/assets/js/fullscreen.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/fullscreen.js')
-rw-r--r--assets/js/fullscreen.js49
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
2const fullscreen = document.getElementById('fullscreen');
3const fullscreenIcon = document.getElementById('fullscreen-icon');
4const smallscreenIcon = document.getElementById('smallscreen-icon');
5const elem = document.documentElement;
6
7// Functions
8
9function 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
22function 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
34function 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
48fullscreen.addEventListener('click', toggleFullscreen);
49document.addEventListener('keydown', toggleFullscreen); \ No newline at end of file