Scroll-spy active section highlight
Highlights the table-of-contents link matching the section currently visible on screen.
Code to copy
var heads = document.querySelectorAll('h2[id], h3[id]');
if (heads.length && 'IntersectionObserver' in window) {
var obs = new IntersectionObserver(function (entries) {
entries.forEach(function (en) {
if (en.isIntersecting) {
document.querySelectorAll('a[href^="#"]').forEach(function (a) {
var on = a.getAttribute('href') === '#' + en.target.id;
a.style.fontWeight = on ? '700' : '';
a.style.background = on ? '#fff3a8' : '';
});
}
});
}, { rootMargin: '0px 0px -70% 0px' });
heads.forEach(function (h) { obs.observe(h); });
}
How to use this example
- Copy the code with the button above.
- Install JustZix (2 minutes) and open the extension on the target page.
- Add a new rule matching that page.
- Paste the code into the rule's JavaScript panel and save — it runs on every page visit.
Rate this example
No ratings yet — be the first.