Como rolar suavemente a página até um elemento pelo seu ID ou classe com JavaScript/jQuery?
Olá a todos! Sou novo no desenvolvimento web e me deparei com a seguinte tarefa: na minha página há uma lista longa e, no final, um botão "Voltar ao topo". Ao clicar nele, preciso rolar suavemente (com animação) a página até o topo. Mas não consigo fazer funcionar.
Aqui está meu código:
```html
```
```javascript
// Tentando rolar até o elemento com id="footer"
$('#goTop').click(function() {
$('#footer').scroll(); // Não funciona
// Ou assim:
window.scrollTo(0, $('#footer').offset().top); // Apenas pula, sem animação
});
```
Tentei várias opções, mas nada dá certo. Como fazer uma rolagem suave até um elemento? Preciso que, ao clicar no botão, a página role suavemente até o bloco #footer (ou qualquer outro elemento). De preferência em JavaScript puro, mas se necessário, estou disposto a usar jQuery. Por favor, me digam como implementar isso corretamente.