Risposte:
È possibile impostare scrollTop
, in questo modo:
$('html,body').scrollTop(0);
O se vuoi una piccola animazione invece di uno snap verso l'alto:
$('html, body').animate({ scrollTop: 0 }, 'fast');
html
e body
. altrimenti usa $(window)
invece.
Senza animazione, puoi usare JS semplice:
scroll(0,0)
Con l'animazione, controlla la risposta di Nick .
scroll
è nello standard CSSOM mentre scrollTo
era originariamente definito nel DOM Level 0 e non fa parte di alcuno standard. Tuttavia, CSSOM include scrollTo
per compatibilità con le versioni precedenti.
scroll
sia ampiamente supportato. Vedere stackoverflow.com/q/1925671/41906
window && window.scroll(0,0);
sia accettabile nel mio modello di visualizzazione.
Se stai usando la finestra di dialogo dell'interfaccia utente di jQuery, potresti semplicemente modellare il modale in modo che appaia con la posizione fissata nella finestra in modo che non appaia fuori vista, annullando la necessità di scorrere. Altrimenti,
var scrollTop = function() {
window.scrollTo(0, 0);
};
dovrebbe fare il trucco.
Potresti farlo senza javascript e utilizzare semplicemente i tag di ancoraggio? Quindi sarebbe accessibile a quelli gratuiti.
anche se mentre usi i modali, presumo che non ti interessi di essere js libero. ;)
// When the user scrolls down 20px from the top of the document, show the button
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
document.getElementById("myBtn").style.display = "block";
} else {
document.getElementById("myBtn").style.display = "none";
}
}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
$('html, body').animate({scrollTop:0}, 'slow');
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
}
#myBtn {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 18px;
border: none;
outline: none;
background-color: red;
color: white;
cursor: pointer;
padding: 15px;
border-radius: 4px;
}
#myBtn:hover {
background-color: #555;
}
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<button onclick="topFunction()" id="myBtn" title="Go to top">Top</button>
<div style="background-color:black;color:white;padding:30px">Scroll Down</div>
<div style="background-color:lightgrey;padding:30px 30px 2500px">This example demonstrates how to create a "scroll to top" button that becomes visible when the user starts to scroll the page.</div>
So che questo è vecchio, ma per coloro che hanno problemi in Edge:
JS semplice: window.scrollTop=0;
Sfortunatamente, scroll()
e scrollTo()
genera errori in Edge.