You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

72 line
3.0 KiB

  1. window.addEventListener('scroll', function(e) {
  2. if (document.querySelector('body').clientWidth > 767) {
  3. let rightcolumn = document.querySelector('.rightcolumn');
  4. let mantletitle = document.querySelector('.mantletitle') || document.querySelector('.crusttitle') || false;
  5. if (!mantletitle) {
  6. return
  7. }
  8. let mantlebar = document.querySelector('.mantlebar')
  9. let grid = document.querySelector('.grid')
  10. let gridrect = mantletitle.getBoundingClientRect();
  11. if ((document.querySelector('body').clientHeight - (grid.clientHeight + mantletitle.clientHeight + 32)) < window.innerHeight) {
  12. return
  13. }
  14. if (gridrect.top < 20 && !grid.classList.contains('moved')) {
  15. grid.classList.add('moved');
  16. mantlebar.style.display = "inline";
  17. mantletitle.style.visibility = "hidden";
  18. grid.style.display = "none";
  19. window.scrollBy({top: mantletitle.clientHeight, behavior: 'smooth'})
  20. } else if (gridrect.top > 21 && grid.classList.contains('moved')) {
  21. grid.classList.remove('moved');
  22. mantletitle.style.visibility = "visible";
  23. mantlebar.style.display = "none";
  24. grid.style.display = "grid";
  25. window.scroll({top: 0, behavior: 'smooth'})
  26. }
  27. } else {
  28. let rightcolumn = document.querySelector('.rightcolumn');
  29. let mantletitle = document.querySelector('.mantletitle') || document.querySelector('.crusttitle') || false;
  30. if (!mantletitle) {
  31. return
  32. }
  33. let mantlebar = document.querySelector('.mantlebar')
  34. let grid = document.querySelector('.grid')
  35. let gridrect = mantletitle.getBoundingClientRect();
  36. if (gridrect.top < 20 && !grid.classList.contains('moved')) {
  37. grid.classList.add('moved');
  38. mantlebar.style.display = "inline";
  39. mantletitle.style.visibility = "hidden";
  40. } else if (gridrect.top > 21 && grid.classList.contains('moved')) {
  41. grid.classList.remove('moved');
  42. mantletitle.style.visibility = "visible";
  43. mantlebar.style.display = "none";
  44. }
  45. }
  46. })
  47. window.addEventListener('DOMContentLoaded', (e) => {
  48. let par = document.querySelector("#TableOfContents > ol:first-child > li:first-child");
  49. let s = document.createElement("span");
  50. s.appendChild(par.cloneNode(true))
  51. par.remove()
  52. document.querySelector("#TableOfContents > ol:first-child").insertBefore(s, document.querySelector("#TableOfContents > ol:first-child").firstChild)
  53. if (document.querySelector(".soundcite")) {
  54. let relPath ="../".repeat(relPathDepth - 1);
  55. var popcorn = document.createElement('script');
  56. popcorn.src = `${relPath}js/popcorn.min.js`;
  57. document.body.appendChild(popcorn);
  58. var soundcite = document.createElement('script');
  59. soundcite.src = `${relPath}js/soundcite.min.js`;
  60. document.body.appendChild(soundcite);
  61. }
  62. })