Respuestas:
Puede configurar el scrollTop
, así:
$('html,body').scrollTop(0);
O si desea una pequeña animación en lugar de un ajuste a la parte superior:
$('html, body').animate({ scrollTop: 0 }, 'fast');
html
y body
. de lo contrario, use $(window)
en su lugar.
scroll
está en el estándar CSSOM mientras scrollTo
se definió originalmente en DOM Nivel 0 y no forma parte de ningún estándar. Sin embargo, CSSOM incluye scrollTo
compatibilidad con versiones anteriores.
scroll
es ampliamente compatible. Ver stackoverflow.com/q/1925671/41906
window && window.scroll(0,0);
es aceptable en mi modelo de vista.
Si está utilizando el cuadro de diálogo de jQuery UI, puede simplemente diseñar el modal para que aparezca con la posición fija en la ventana para que no aparezca fuera de la vista, negando la necesidad de desplazarse. De otra manera,
var scrollTop = function() {
window.scrollTo(0, 0);
};
debería hacer el truco.
¿Podría hacerlo sin javascript y simplemente usar etiquetas de anclaje? Entonces sería accesible para esos js gratis.
aunque como estás usando modales, supongo que no te importa ser libre. ;)
// 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>
Sé que esto es viejo, pero para aquellos que tienen problemas en Edge:
JS simple: window.scrollTop=0;
Lamentablemente, scroll()
y scrollTo()
arrojar errores en Edge.