Bootstrap JS Scrollspy
JS Scrollspy
Scrollspy é usado para atualizar automaticamente os links em uma lista de navegação com base na posição de rolagem.
Para um tutorial sobre Scrollspy, leia nosso Tutorial Bootstrap Scrollspy .
Via dados-* Atributos
Adicione data-spy="scroll"
ao elemento que deve ser usado como área de rolagem (geralmente esse é o <body>
elemento).
Em seguida, adicione o data-target
atributo com um valor do id ou o nome da classe da barra de navegação ( .navbar
). Isso é para garantir que a barra de navegação esteja conectada à área rolável.
Observe que os elementos roláveis devem corresponder ao ID dos links dentro dos itens da lista da barra de navegação ( <div id="section1">
matches <a href="#section1">
).
O atributo opcional data-offset
especifica o número de pixels a serem deslocados do topo ao calcular a posição de rolagem. Isso é útil quando você sente que os links dentro da barra de navegação alteram o estado ativo muito cedo ou muito cedo ao pular para os elementos roláveis. O padrão é 10 pixels.
Requer posicionamento relativo: O elemento com data-spy="scroll" requer a propriedade position CSS , com um valor de "relative" para funcionar corretamente.
Exemplo
<!-- 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-expand-sm bg-dark navbar-dark fixed-top">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#section1">Section 1</a>
</li>
....
</ul>
</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>
Por JavaScript
Ative manualmente com:
Exemplo
$('body').scrollspy({target: ".navbar"})
Opções do Scrollspy
As opções podem ser passadas por meio de atributos de dados ou JavaScript. Para atributos de dados, anexe o nome da opção a data-, como em data-offset="".
Name | Type | Default | Description | Try it |
---|---|---|---|---|
offset | number | 10 | Specifies the number of pixels to offset from top when calculating the position of scroll |
Métodos Scrollspy
A tabela a seguir lista todos os métodos scrollspy disponíveis.
Method | Description |
---|---|
.scrollspy("refresh") | When adding and removing elements from the scrollspy, this method can be used to refresh the document |
.scrollspy("dispose") | Destroys the scrollspy |
Eventos Scrollspy
A tabela a seguir lista todos os eventos scrollspy disponíveis.
Event | Description |
---|---|
activate.bs.scrollspy | Occurs when a new item becomes activated by the scrollspy |