Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Problema com Scroll

Estou tentando fazer funcionar um jquery para que quando eu clique em algum link da minha página ela ao invés de pular direito para aquele elemento faça o scroll, já pesquisei um monte na internet porém nada funciona. Alguma boa alma pode me ajudar?

Código javascript:

function goTo(element, speed){
  var href = element.attr('href');
  var target = $(href).offset().target;
  $(document).animate({scrollTop : target}, speed);
}

$(function(){

  $('a[href^="#"]').click(function(e){
    e.preventDefault();
    goTo($(this), 1000);
  });
});

HTML:

 <ul class="opcoes nav navbar-nav navbar-right">
          <li><a href="index.html">Home</a></li>
          <li><a href="#escritorio">O Escritório</a></li>
          <li><a href="#atuacao">Areas de Atuação</a></li>
          <li><a href="#contato">Contato</a></li>
        </ul>
<div id="escritorio" class="container servicos">
    <div class="page-header">
      <h1>O Escritório</h1> 
    </div>
<p>...</p>
</div
<div id="atuacao" class="container servicos ">
   <div class="page-header">
     <h1>Areas de Atuação</h1>
   </div>
<p>...</p>
</div>
2 respostas
solução!

Salve Cesar, blz?

Então, fiz uma correção no seu código e funcionou aqui, testa ele, só lembra de colocar um conteúdo extenso na suas divs, pra ver o scroll rolando, ok?

    function goTo(element,speed){
        var href = element.attr('href');
        var target = $(href).offset().top;
        $("body, html").animate({scrollTop : target}, 1000);
    }

    $('a').click(function(e){
        e.preventDefault();
        goTo($(this),1000);
    });

Então, no final das contas o problema nem era com o JS, e sim um overflow que eu tinha colocado no meu CSS e tava bloqueando tudo hahaha.

Mas obrigado!!