--const pages = Array.from(document.querySelectorAll('img.image-item'));\r
--let currentPage = 0;\r
--\r
--function changePage(pageNum) {\r
-- const previous = pages[currentPage];\r
-- const current = pages[pageNum];\r
--\r
-- if (current == null) {\r
-- return;\r
-- }\r
-- \r
-- previous.classList.remove('current');\r
-- current.classList.add('current');\r
--\r
-- currentPage = pageNum;\r
--\r
-- const display = document.getElementById('dest');\r
-- display.style.backgroundImage = `url("${current.src}")`;\r
-\r
- scroll(0,0)\r
--\r
-- document.getElementById('page-num')\r
-- .innerText = [\r
-- (pageNum + 1).toLocaleString(),\r
-- pages.length.toLocaleString()\r
-- ].join('\u200a/\u200a');\r
--}\r
--\r
--changePage(0);\r
--\r
--document.getElementById('list').onclick = event => {\r
-- if (pages.includes(event.target)) {\r
-- changePage(pages.indexOf(event.target));\r
-- }\r
--};\r
--\r
--document.getElementById('image-container').onclick = event => {\r
-- const width = document.getElementById('image-container').clientWidth;\r
-- const clickPos = event.clientX / width;\r
--\r
-- if (clickPos < 0.5) {\r
-- changePage(currentPage - 1);\r
-- } else {\r
-- changePage(currentPage + 1);\r
-- }\r
--};\r
--\r
--document.onkeypress = event => {\r
-- switch (event.key.toLowerCase()) {\r
-- // Previous Image\r
-- case 'w':\r
- document.getElementById("dest").style.height = "200%";\r
- document.getElementById("list").style.height = "200%";\r
- break;\r
- scrollBy(0, -40);\r
- break;\r
-- case 'a':\r
-- changePage(currentPage - 1);\r
-- break;\r
-- // Return to previous page\r
-- case 'q':\r
-- window.history.go(-1);\r
-- break;\r
-- // Next Image\r
-- case ' ':\r
-- case 's':\r
- document.getElementById("dest").style.height = "100%";\r
- document.getElementById("list").style.height = "100%";\r
- scrollBy(0, 40);\r
-- break;\r
-- case 'd':\r
-- changePage(currentPage + 1);\r
-- break;\r
-- }// remove arrow cause it won't work\r
--};\r
--\r
--document.onkeydown = event =>{\r
-- switch (event.keyCode) {\r
-- case 37: //left\r
-- changePage(currentPage - 1);\r
- break;\r
- case 38: //up\r
-- break;\r
-- case 39: //right\r
-- changePage(currentPage + 1);\r
- break;\r
- case 40: //down\r
-- break;\r
-- }\r
-};\r
++const pages = Array.from(document.querySelectorAll('img.image-item'));
++let currentPage = 0;
++
++function changePage(pageNum) {
++ const previous = pages[currentPage];
++ const current = pages[pageNum];
++
++ if (current == null) {
++ return;
++ }
++
++ previous.classList.remove('current');
++ current.classList.add('current');
++
++ currentPage = pageNum;
++
++ const display = document.getElementById('dest');
++ display.style.backgroundImage = `url("${current.src}")`;
++
++ scroll(0,0)
++
++ document.getElementById('page-num')
++ .innerText = [
++ (pageNum + 1).toLocaleString(),
++ pages.length.toLocaleString()
++ ].join('\u200a/\u200a');
++}
++
++changePage(0);
++
++document.getElementById('list').onclick = event => {
++ if (pages.includes(event.target)) {
++ changePage(pages.indexOf(event.target));
++ }
++};
++
++document.getElementById('image-container').onclick = event => {
++ const width = document.getElementById('image-container').clientWidth;
++ const clickPos = event.clientX / width;
++
++ if (clickPos < 0.5) {
++ changePage(currentPage - 1);
++ } else {
++ changePage(currentPage + 1);
++ }
++};
++
++document.onkeypress = event => {
++ switch (event.key.toLowerCase()) {
++ // Previous Image
++ case 'w':
++ scrollBy(0, -40);
++ break;
++ case 'a':
++ changePage(currentPage - 1);
++ break;
++ // Return to previous page
++ case 'q':
++ window.history.go(-1);
++ break;
++ // Next Image
++ case ' ':
++ case 's':
++ scrollBy(0, 40);
++ break;
++ case 'd':
++ changePage(currentPage + 1);
++ break;
++ }// remove arrow cause it won't work
++};
++
++document.onkeydown = event =>{
++ switch (event.keyCode) {
++ case 37: //left
++ changePage(currentPage - 1);
++ break;
++ case 38: //up
++ break;
++ case 39: //right
++ changePage(currentPage + 1);
++ break;
++ case 40: //down
++ break;
++ }
+};
--*, *::after, *::before {\r
-- box-sizing: border-box;\r
--}\r
--\r
--img {\r
-- vertical-align: middle;\r
--}\r
--\r
--html, body {\r
-- display: flex;\r
-- background-color: #e8e6e6;\r
-- height: 100%;\r
-- width: 100%;\r
-- padding: 0;\r
-- margin: 0;\r
-- font-family: sans-serif;\r
--}\r
--\r
--#list {\r
- height: 100%;\r
- overflow: auto;\r
- height: 2000px;\r
- overflow: scroll;\r
-- width: 260px;\r
-- text-align: center;\r
--}\r
--\r
--#list img {\r
-- width: 200px;\r
-- padding: 10px;\r
-- border-radius: 10px;\r
-- margin: 15px 0;\r
-- cursor: pointer;\r
--}\r
--\r
--#list img.current {\r
-- background: #0003;\r
--}\r
--\r
--#image-container {\r
-- flex: auto;\r
- height: 100vh;\r
- background: #000;\r
- height: 2000px;\r
- background: #222;\r
-- color: #fff;\r
-- text-align: center;\r
-- cursor: pointer;\r
-- -webkit-user-select: none;\r
-- user-select: none;\r
-- position: relative;\r
--}\r
--\r
--#image-container #dest {\r
- background: #000;\r
- height: 100%;\r
- height: 2000px;\r
-- width: 100%;\r
-- background-size: contain;\r
-- background-repeat: no-repeat;\r
- background-position: center;\r
- background-position: top;\r
--}\r
--\r
--#image-container #page-num {\r
- position: absolute;\r
- font-size: 18pt;\r
- position: static;\r
- font-size: 14pt;\r
-- left: 10px;\r
-- bottom: 5px;\r
-- font-weight: bold;\r
-- opacity: 0.75;\r
-- text-shadow: /* Duplicate the same shadow to make it very strong */\r
-- 0 0 2px #222,\r
-- 0 0 2px #222,\r
-- 0 0 2px #222;\r
- }\r
- \r
- @media only screen and (max-width: 855px) {\r
- nav {\r
- display: none;\r
- }\r
- }\r
- \r
- @media only screen and (max-device-width: 855px) {\r
- nav {\r
- display: none;\r
- }\r
- }\r
- \r
- div {\r
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r
--}\r
- \r
- :focus {\r
- outline: 0;\r
- border:none;\r
- color: rgba(0, 0, 0, 0);\r
++
++*, *::after, *::before {
++ box-sizing: border-box;
++}
++
++img {
++ vertical-align: middle;
++}
++
++html, body {
++ display: flex;
++ background-color: #e8e6e6;
++ height: 100%;
++ width: 100%;
++ padding: 0;
++ margin: 0;
++ font-family: sans-serif;
++}
++
++#list {
++ height: 2000px;
++ overflow: scroll;
++ width: 260px;
++ text-align: center;
++}
++
++#list img {
++ width: 200px;
++ padding: 10px;
++ border-radius: 10px;
++ margin: 15px 0;
++ cursor: pointer;
++}
++
++#list img.current {
++ background: #0003;
++}
++
++#image-container {
++ flex: auto;
++ height: 2000px;
++ background: #222;
++ color: #fff;
++ text-align: center;
++ cursor: pointer;
++ -webkit-user-select: none;
++ user-select: none;
++ position: relative;
++}
++
++#image-container #dest {
++ height: 2000px;
++ width: 100%;
++ background-size: contain;
++ background-repeat: no-repeat;
++ background-position: top;
++}
++
++#image-container #page-num {
++ position: static;
++ font-size: 14pt;
++ left: 10px;
++ bottom: 5px;
++ font-weight: bold;
++ opacity: 0.75;
++ text-shadow: /* Duplicate the same shadow to make it very strong */
++ 0 0 2px #222,
++ 0 0 2px #222,
++ 0 0 2px #222;
+}