diff options
author | johannst <johannst@users.noreply.github.com> | 2023-11-04 20:34:17 +0000 |
---|---|---|
committer | johannst <johannst@users.noreply.github.com> | 2023-11-04 20:34:17 +0000 |
commit | 15a622d90b60b07b18f77d11c8bceed1442ef7ea (patch) | |
tree | 63452e185bfd35661bb5ca3aa69e519b6d99e673 /book.js | |
parent | d5fcc4a2aa7795c01c82075a1285a578b6704414 (diff) | |
download | notes-15a622d90b60b07b18f77d11c8bceed1442ef7ea.tar.gz notes-15a622d90b60b07b18f77d11c8bceed1442ef7ea.zip |
deploy: f2b0515fdd1cb84bebe24cac59498b682b49de80
Diffstat (limited to 'book.js')
-rw-r--r-- | book.js | 47 |
1 files changed, 31 insertions, 16 deletions
@@ -441,7 +441,7 @@ function playground_text(playground, hidden = true) { })(); (function sidebar() { - var html = document.querySelector("html"); + var body = document.querySelector("body"); var sidebar = document.getElementById("sidebar"); var sidebarLinks = document.querySelectorAll('#sidebar a'); var sidebarToggleButton = document.getElementById("sidebar-toggle"); @@ -449,8 +449,8 @@ function playground_text(playground, hidden = true) { var firstContact = null; function showSidebar() { - html.classList.remove('sidebar-hidden') - html.classList.add('sidebar-visible'); + body.classList.remove('sidebar-hidden') + body.classList.add('sidebar-visible'); Array.from(sidebarLinks).forEach(function (link) { link.setAttribute('tabIndex', 0); }); @@ -471,8 +471,8 @@ function playground_text(playground, hidden = true) { }); function hideSidebar() { - html.classList.remove('sidebar-visible') - html.classList.add('sidebar-hidden'); + body.classList.remove('sidebar-visible') + body.classList.add('sidebar-hidden'); Array.from(sidebarLinks).forEach(function (link) { link.setAttribute('tabIndex', -1); }); @@ -483,14 +483,14 @@ function playground_text(playground, hidden = true) { // Toggle sidebar sidebarToggleButton.addEventListener('click', function sidebarToggle() { - if (html.classList.contains("sidebar-hidden")) { + if (body.classList.contains("sidebar-hidden")) { var current_width = parseInt( document.documentElement.style.getPropertyValue('--sidebar-width'), 10); if (current_width < 150) { document.documentElement.style.setProperty('--sidebar-width', '150px'); } showSidebar(); - } else if (html.classList.contains("sidebar-visible")) { + } else if (body.classList.contains("sidebar-visible")) { hideSidebar(); } else { if (getComputedStyle(sidebar)['transform'] === 'none') { @@ -506,14 +506,14 @@ function playground_text(playground, hidden = true) { function initResize(e) { window.addEventListener('mousemove', resize, false); window.addEventListener('mouseup', stopResize, false); - html.classList.add('sidebar-resizing'); + body.classList.add('sidebar-resizing'); } function resize(e) { var pos = (e.clientX - sidebar.offsetLeft); if (pos < 20) { hideSidebar(); } else { - if (html.classList.contains("sidebar-hidden")) { + if (body.classList.contains("sidebar-hidden")) { showSidebar(); } pos = Math.min(pos, window.innerWidth - 100); @@ -522,7 +522,7 @@ function playground_text(playground, hidden = true) { } //on mouseup remove windows functions mousemove & mouseup function stopResize(e) { - html.classList.remove('sidebar-resizing'); + body.classList.remove('sidebar-resizing'); window.removeEventListener('mousemove', resize, false); window.removeEventListener('mouseup', stopResize, false); } @@ -557,20 +557,35 @@ function playground_text(playground, hidden = true) { document.addEventListener('keydown', function (e) { if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } if (window.search && window.search.hasFocus()) { return; } + var html = document.querySelector('html'); + function next() { + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + } + function prev() { + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + } switch (e.key) { case 'ArrowRight': e.preventDefault(); - var nextButton = document.querySelector('.nav-chapters.next'); - if (nextButton) { - window.location.href = nextButton.href; + if (html.dir == 'rtl') { + prev(); + } else { + next(); } break; case 'ArrowLeft': e.preventDefault(); - var previousButton = document.querySelector('.nav-chapters.previous'); - if (previousButton) { - window.location.href = previousButton.href; + if (html.dir == 'rtl') { + next(); + } else { + prev(); } break; } |