mirror of
https://github.com/tchartron/blow
synced 2025-02-17 05:38:26 +00:00
update
This commit is contained in:
parent
cdbe901de5
commit
4ef310da97
1 changed files with 21 additions and 18 deletions
|
@ -1,27 +1,30 @@
|
|||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// ---------------- TOC Scrollspy --------------------
|
||||
const table_of_content_links = document.querySelectorAll('#toc li a')
|
||||
if (document.getElementById('toc') !== null) {
|
||||
|
||||
let page_titles_ids = [];
|
||||
[...table_of_content_links].forEach((item)=> {
|
||||
page_titles_ids.push(item.href.substring(item.href.indexOf("#")))
|
||||
})
|
||||
const page_titles_elements = document.querySelectorAll(page_titles_ids.join(','));
|
||||
const table_of_content_links = document.querySelectorAll('#toc li a')
|
||||
|
||||
let reversed_title_elements = [...page_titles_elements].reverse();
|
||||
let elem = getActiveTocElement(reversed_title_elements) || page_titles_elements[0]; //If no element has gone outside of viewport on y axis
|
||||
findCorrespondingTocTitle(elem).classList.add('bg-blue-700') //page load
|
||||
var previous_elem = elem
|
||||
let page_titles_ids = [];
|
||||
[...table_of_content_links].forEach((item)=> {
|
||||
page_titles_ids.push(item.href.substring(item.href.indexOf("#")))
|
||||
})
|
||||
const page_titles_elements = document.querySelectorAll(page_titles_ids.join(','));
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
let element = getActiveTocElement(reversed_title_elements) || page_titles_elements[0];
|
||||
let reversed_title_elements = [...page_titles_elements].reverse();
|
||||
let elem = getActiveTocElement(reversed_title_elements) || page_titles_elements[0]; //If no element has gone outside of viewport on y axis
|
||||
findCorrespondingTocTitle(elem).classList.add('bg-blue-700') //page load
|
||||
var previous_elem = elem
|
||||
|
||||
if (element !== previous_elem) {
|
||||
findCorrespondingTocTitle(previous_elem).classList.remove('bg-blue-700')
|
||||
findCorrespondingTocTitle(element).classList.add('bg-blue-700')
|
||||
previous_elem = element
|
||||
}
|
||||
})
|
||||
window.addEventListener('scroll', () => {
|
||||
let element = getActiveTocElement(reversed_title_elements) || page_titles_elements[0];
|
||||
|
||||
if (element !== previous_elem) {
|
||||
findCorrespondingTocTitle(previous_elem).classList.remove('bg-blue-700')
|
||||
findCorrespondingTocTitle(element).classList.add('bg-blue-700')
|
||||
previous_elem = element
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
function getActiveTocElement(elements) {
|
||||
return [...elements].find((item) => {
|
||||
|
|
Loading…
Add table
Reference in a new issue