← Todos los ejemplos

JavaScript Navegación

Resaltado de sección activa (scroll-spy)

Resalta el enlace del índice correspondiente a la sección visible en pantalla.

Código para copiar

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); });
}

Cómo usar este ejemplo

  1. Copia el código con el botón de arriba.
  2. Instala JustZix (2 minutos) y abre la extensión en la página de destino.
  3. Añade una nueva regla que coincida con esa página.
  4. Pega el código en el panel JavaScript de la regla y guarda — se ejecuta en cada visita a la página.

Valora este ejemplo

Sin valoraciones — sé el primero.

¿Funciona este ejemplo?

Los snippets son inútiles sin un lugar donde pegarlos.

JustZix se instala en 2 minutos y ejecuta tu código en cada página coincidente. Sin cuenta, sin pago.

Descargar gratis Ver casos de uso