diff options
Diffstat (limited to '18')
-rw-r--r-- | 18/index.html | 31 | ||||
-rw-r--r-- | 18/script.js | 62 |
2 files changed, 93 insertions, 0 deletions
diff --git a/18/index.html b/18/index.html new file mode 100644 index 0000000..d1b183f --- /dev/null +++ b/18/index.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html lang="nl"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"> + <link rel="stylesheet" href="https://opensource.keycdn.com/fontawesome/4.7.0/font-awesome.min.css" integrity="sha384-dNpIIXE8U05kAbPhy3G1cz+yZmTzA6CY8Vg/u2L9xRnHjJiAK76m2BIEaSEV+/aU" + crossorigin="anonymous"> + <title>18.</title> + <link rel="stylesheet" href="/style/18.css"> +</head> +<body> + <div class="wrapper"> + <div class="start"> + <div class="face"></div> + <div class="terminal"></div> + <i class="fa fa-angle-down down-arrow" aria-hidden="true"></i> + </div> + </div> + <div class="content"> + <p>Hallo!</p> + <p>Het feit dat je een link naar deze pagina hebt ontvangen betekent dat je bent uitgenodigt voor mijn 18de verjaardag!</p> + <p>Het feest begint om <b>17:00</b>! Het wordt een gezellig feestje met muziek, eten, drankjes en hopelijk een kampvuur in de tuin.</p> + <p><b>Locatie: </b><i>***REMOVED***</i><br><b>Datum: </b><i>***REMOVED***</i></p> + <p>Zeg het als je kunt komen!</p> + <p>Groet,</p> + <p>Noah.</p> + </div> + <script src="/18/script.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/18/script.js b/18/script.js new file mode 100644 index 0000000..0c9be11 --- /dev/null +++ b/18/script.js @@ -0,0 +1,62 @@ +/** + * + */ + +function wait(ms) { + return new Promise((resolve) => { + window.setTimeout(resolve, ms); + }) +} + +function terminalType(prefix, text) { + if (text == null) text = ''; + const line = document.createElement('div'); + line.className = 'line'; + prefix = prefix.replace(/ /g, ' ') + line.innerHTML = prefix; + + document.querySelector('.terminal').appendChild(line); + + function type(text, line) { + if (text === '') { + return Promise.resolve(); + } + line.textContent = line.textContent + text.charAt(0); + return wait(100).then(() => type(text.substr(1), line)); + } + + return wait(500).then(() => type(text, line)); +} + +Promise.resolve() + .then(() => terminalType('noah@loomans ~ $ ', 'cd Code/calculate_age')) + .then(() => terminalType('noah@loomans ~/Code/calculate_age $ ', 'gcc calculate_age.c -o calculate_age')) + .then(() => terminalType('noah@loomans ~/Code/calculate_age $ ', './calculate_age')) + .then(() => terminalType('calculating', '.........')) + .then(() => terminalType(' 1111111 888888888')) + .then(() => terminalType(' 1::::::1 88:::::::::88')) + .then(() => terminalType('1:::::::1 88:::::::::::::88')) + .then(() => terminalType('111:::::1 8::::::88888::::::8')) + .then(() => terminalType(' 1::::1 8:::::8 8:::::8')) + .then(() => terminalType(' 1::::1 8:::::8 8:::::8')) + .then(() => terminalType(' 1::::1 8:::::88888:::::8')) + .then(() => terminalType(' 1::::l 8:::::::::::::8')) + .then(() => terminalType(' 1::::l 8:::::88888:::::8')) + .then(() => terminalType(' 1::::l 8:::::8 8:::::8')) + .then(() => terminalType(' 1::::l 8:::::8 8:::::8')) + .then(() => terminalType(' 1::::l 8:::::8 8:::::8')) + .then(() => terminalType('111::::::1118::::::88888::::::8')) + .then(() => terminalType('1::::::::::1 88:::::::::::::88')) + .then(() => terminalType('1::::::::::1 88:::::::::88')) + .then(() => terminalType('111111111111 888888888')) + .then(() => wait(2000)) + .then(() => document.querySelector('.down-arrow').classList.add('show')); + +function resize() { + const size = Math.min(window.innerWidth, window.innerHeight); + const factor = size / 1080; + document.documentElement.style.setProperty('--factor', factor); +} + +resize(); +window.addEventListener('resize', resize);
\ No newline at end of file |