deno.land / x / mongoose@6.7.5 / docs / js / api-bold-current-nav.js

api-bold-current-nav.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// this script changes the nav-bar entry that is current visible on the screen as a header (most to the top) to be bold
let headers = undefined;let curNavEntry = undefined;let curElem = undefined;window.addEventListener('scroll', function() { // set these values if undefined, because otherwise in global scope they will not be defined because the window did not finish loading if (headers === undefined) { headers = document.querySelectorAll('.api-content > h3'); } if (curNavEntry === undefined) { const entries = document.querySelectorAll('.api-nav-content .nav-item .nav-item-sub'); for (const entry of entries) { if (window.getComputedStyle(entry).visibility !== "hidden") { curNavEntry = entry.parentElement; break; } } }
const scrollY = window.scrollY; let highlight = headers[0]; for (const header of headers) { if (header.offsetTop > scrollY) { break; } highlight = header; } if (curElem == undefined || highlight.id !== curElem.id) { // reset old element before re-assign if (curElem !== undefined) { document.querySelector('#' + curNavEntry.id + ' a[href="#' + curElem.id + '"]').style.fontWeight = "inherit"; }
curElem = highlight;
// add bold and visible to current ones document.querySelector('#' + curNavEntry.id + ' a[href="#' + curElem.id + '"]').style.fontWeight = 'bold'; }});
mongoose

Version Info

Tagged at
a year ago