$(".scrollSuave").click(function(event){
event.preventDefault();
var div_anc = $($.attr(this, 'href'));
var div_anc_top = div_anc.offset().top;
go_top = div_anc_top < 0 ? $("#div").scrollTop()-Math.abs(div_anc_top) : div_anc_top+$("#div").scrollTop();
$("#div").animate({
scrollTop: go_top-10 // 10 é o padding da div-mãe
}, 500);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="display: block; width: 100px; background: #ddd; padding: 10px; float: left; margin-right: 20px;">
<a href="#funcionamento" class="scrollSuave">Opção 1</a>
<br />
<a href="#cadastrar" class="scrollSuave">Opção 2</a>
<br />
<a href="#teste" class="scrollSuave">Opção 3</a>
</div>
<div id="div" style="display: block; width: 400px; height: 400px; overflow: hidden; background: yellow; padding: 10px; float: left;">
<h4 id="funcionamento"><b>Opção 1</b></h4>
Nullam dapibus orci nec ligula imperdiet feugiat. Quisque diam dui, tempus in nisi ac, lobortis dignissim eros. Vestibulum bibendum dapibus lectus, sed auctor erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque iaculis, magna a efficitur porta, tellus quam molestie felis, a porttitor diam nisi sed velit. Proin sed porta magna. Praesent efficitur rhoncus massa, quis luctus turpis fringilla in. Etiam ultricies lorem sed libero vehicula viverra. Sed dapibus porta pulvinar. Nam tempor, urna non commodo aliquam, lectus lacus consequat lacus, tincidunt ultricies odio lacus eu nulla. Pellentesque tincidunt tincidunt quam, sed malesuada risus feugiat at. Donec id ante vitae tortor malesuada ultricies. Suspendisse tempus tellus in nisl consectetur, ut ornare ipsum elementum.
<h4 id="cadastrar"><b>Opção 2</b></h4>
Nullam dapibus orci nec ligula imperdiet feugiat. Quisque diam dui, tempus in nisi ac, lobortis dignissim eros. Vestibulum bibendum dapibus lectus, sed auctor erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque iaculis, magna a efficitur porta, tellus quam molestie felis, a porttitor diam nisi sed velit. Proin sed porta magna. Praesent efficitur rhoncus massa, quis luctus turpis fringilla in. Etiam ultricies lorem sed libero vehicula viverra. Sed dapibus porta pulvinar. Nam tempor, urna non commodo aliquam, lectus lacus consequat lacus, tincidunt ultricies odio lacus eu nulla. Pellentesque tincidunt tincidunt quam, sed malesuada risus feugiat at. Donec id ante vitae tortor malesuada ultricies. Suspendisse tempus tellus in nisl consectetur, ut ornare ipsum elementum.
<h4 id="teste"><b>Opção 3</b></h4>
Nullam dapibus orci nec ligula imperdiet feugiat. Quisque diam dui, tempus in nisi ac, lobortis dignissim eros. Vestibulum bibendum dapibus lectus, sed auctor erat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque iaculis, magna a efficitur porta, tellus quam molestie felis, a porttitor diam nisi sed velit. Proin sed porta magna. Praesent efficitur rhoncus massa, quis luctus turpis fringilla in. Etiam ultricies lorem sed libero vehicula viverra. Sed dapibus porta pulvinar. Nam tempor, urna non commodo aliquam, lectus lacus consequat lacus, tincidunt ultricies odio lacus eu nulla. Pellentesque tincidunt tincidunt quam, sed malesuada risus feugiat at. Donec id ante vitae tortor malesuada ultricies. Suspendisse tempus tellus in nisl consectetur, ut ornare ipsum elementum.
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
How do you want to roll the div and the anchors at the same time? I didn’t get that part.
– Sam