Fixando elemento na página com ScrollToFixed
Muitas vezes temos algum elemento da página seja ele um menu, banner ou um simples botão mas queremos fixá-lo na página, seja no topo, no rodapé ou na lateral.
Para isso podemos utilizar um plugin muito simples do jQuery chamado ScrollToFixed que permite selecionar um elemento e fixá-lo em uma posição.
Primeiramente baixe o plugin que está no github e inclua na sua página, não se esquecendo de inserir a biblioteca jQuery.
<script src="jquery.min.js"></script>
<script src="jquery-scrolltofixed-min.js"></script>
Após isso basta selecionar um elemento e chamar o método scrollToFixed para fixar o elemento
HTML
<nav id="menu">
<ul>
<li> <a href="#">Item 1</a></li>
<li> <a href="#">Item 2</a></li>
<li> <a href="#">Item 3</a></li>
<li> <a href="#">Item 4</a></li>
</ul>
</nav>
Javascript
$(document).ready(function(){
$('#menu').scrollToFixed();
});
Com isso já temos um menu que mesmo rolando o scroll do navegador para baixo vai ficar fixado no topo.
Adicionando um parâmetro ao método scrollToFixed
podemos fazer aqueles clássicos links que ficam fixo no rodapé do navegador para clicar e subir o topo da página.
HTML
<div id="botao">
<a href="#">Topo</a>
</div>
Javascript
$("#botao").scrollToFixed( {
bottom: 0 //fixa na parte inferior
});
O scrollToFixed também disponíbiliza outras propriedades entre elas:
- marginTop (value|function) – o numero de pixels entre o topo da janela do navegador e o elemento fixado.
- limit (value|function) – a posição vertical na qual o elemento irá começar a ser “rolado para cima” da página, ou seja a partir de que ponto da página o elemento irá deixar de ser fixado.
- bottom – (fix to bottom) numero de pixels entre a parte inferior da janela do navegador e o elemento fixado.
- zIndex – o z-index do elemento fixado.
Bom era isso, simples e rápido(ou não)