Antworten:
Sie können Folgendes einstellen scrollTop
:
$('html,body').scrollTop(0);
Oder wenn Sie eine kleine Animation anstelle eines Schnappschusses nach oben wünschen:
$('html, body').animate({ scrollTop: 0 }, 'fast');
html
und body
Tags gestaltet haben. Andernfalls verwenden Sie $(window)
stattdessen.
Ohne Animation können Sie einfaches JS verwenden:
scroll(0,0)
Überprüfen Sie mit der Animation Nicks Antwort .
scroll
befindet sich im CSSOM-Standard, während er scrollTo
ursprünglich in DOM Level 0 definiert wurde und nicht Teil eines Standards ist. CSSOM enthält jedoch aus Gründen der scrollTo
Abwärtskompatibilität.
scroll
wird weitgehend unterstützt. Siehe stackoverflow.com/q/1925671/41906
window && window.scroll(0,0);
ist in meinem Ansichtsmodell akzeptabel.
Wenn Sie das Dialogfeld "jQuery-Benutzeroberfläche" verwenden, können Sie das Modal einfach so gestalten, dass es an der im Fenster festgelegten Position angezeigt wird, damit es nicht aus der Ansicht angezeigt wird, sodass kein Bildlauf erforderlich ist. Andernfalls,
var scrollTop = function() {
window.scrollTo(0, 0);
};
sollte den Trick machen.
Sie könnten es ohne Javascript tun und einfach Ankertags verwenden? Dann wäre es für js kostenlos zugänglich.
Obwohl Sie Modalitäten verwenden, ist es Ihnen vermutlich egal, ob Sie frei sind. ;)
// 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>
Ich weiß, dass dies alt ist, aber für diejenigen, die Probleme in Edge haben:
Plain JS: window.scrollTop=0;
Leider scroll()
und scrollTo()
werfen Fehler in Edge.