AGGIORNARE
Andare all'inizio della pagina con un effetto di scorrimento è un po 'più semplice in javascript ora con:
https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll
window.scroll({
top: 0,
left: 0,
behavior: 'smooth'
});
ATTENZIONE
Abbiamo usato questo nei nostri progetti più recenti, ma ho appena controllato il documento mozilla in questo momento mentre aggiornavo la mia risposta e credo che sia stato aggiornato. In questo momento il metodo è window.scroll(x-coord, y-coord)
e non menziona né mostra esempi che utilizzano il object
parametro in cui è possibile impostare behavior
su smooth
. Ho appena provato il codice e funziona ancora in Chrome e Firefox e il parametro object è ancora nelle specifiche .
Quindi usa questo con cautela o puoi usare questo Polyfill . A parte lo scorrimento verso l'alto, questo polyfill gestisce anche altri metodi: window.scrollBy
, element.scrollIntoView
, etc.
VECCHIA RISPOSTA
Questa è la nostra javascript
implementazione alla vaniglia . Ha un semplice effetto di attenuazione in modo che l'utente non rimanga scioccato dopo aver fatto clic sul pulsante In alto .
È molto piccolo e diventa ancora più piccolo quando viene minimizzato. Gli sviluppatori alla ricerca di un'alternativa al metodo jquery ma vogliono gli stessi risultati possono provare questo.
JS
document.querySelector("#to-top").addEventListener("click", function(){
var toTopInterval = setInterval(function(){
var supportedScrollTop = document.body.scrollTop > 0 ? document.body : document.documentElement;
if (supportedScrollTop.scrollTop > 0) {
supportedScrollTop.scrollTop = supportedScrollTop.scrollTop - 50;
}
if (supportedScrollTop.scrollTop < 1) {
clearInterval(toTopInterval);
}
}, 10);
},false);
HTML
<button id="to-top">To Top</button>
Saluti!