Complemento Bootstrap Scrollspy (avanzado)
El complemento Scrollspy
El complemento Scrollspy se usa para actualizar automáticamente los enlaces en una lista de navegación según la posición de desplazamiento.
Cómo crear un Scrollspy
El siguiente ejemplo muestra cómo crear un scrollspy:
Ejemplo
<!-- The scrollable area -->
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<!-- The navbar - The <a> elements are used to jump to a section in the scrollable area -->
<nav class="navbar navbar-inverse navbar-fixed-top">
...
<ul class="nav navbar-nav">
<li><a href="#section1">Section 1</a></li>
...
</nav>
<!-- Section 1 -->
<div id="section1">
<h1>Section 1</h1>
<p>Try to scroll this page and look at the navigation bar while scrolling!</p>
</div>
...
</body>
Ejemplo explicado
Agregue data-spy="scroll"
al elemento que debe usarse como área desplazable (a menudo, este es el <body>
elemento).
Luego agregue el data-target
atributo con un valor de id o el nombre de clase de la barra de navegación ( .navbar
). Esto es para asegurarse de que la barra de navegación esté conectada con el área desplazable.
Tenga en cuenta que los elementos desplazables deben coincidir con el ID de los enlaces dentro de los elementos de la lista de la barra de navegación ( <div id="section1">
coincidencias <a href="#section1">
).
El atributo opcional data-offset
especifica el número de píxeles que se desplazan desde la parte superior al calcular la posición de desplazamiento. Esto es útil cuando siente que los enlaces dentro de la barra de navegación cambian el estado activo demasiado pronto o demasiado pronto al saltar a los elementos desplazables. El valor predeterminado es 10 píxeles.
Requiere posicionamiento relativo: el elemento con data-spy="scroll" requiere la propiedad de posición CSS , con un valor de "relativo" para funcionar correctamente.
Menú vertical Scrollspy
En este ejemplo, usamos las píldoras de navegación vertical de Bootstrap como menú:
Ejemplo
<body data-spy="scroll" data-target="#myScrollspy" data-offset="20">
<div class="container">
<div class="row">
<nav class="col-sm-3" id="myScrollspy">
<ul class="nav nav-pills nav-stacked">
<li><a href="#section1">Section 1</a></li>
...
</ul>
</nav>
<div class="col-sm-9">
<div id="section1">
<h1>Section 1</h1>
<p>Try to scroll this page and look at the navigation list while scrolling!</p>
</div>
...
</div>
</div>
</div>
</body>
Referencia completa de Bootstrap Scrollspy
Para obtener una referencia completa de todos los métodos y eventos de scrollspy, vaya a nuestra Referencia de Bootstrap JS Scrollspy .