Wie scrolle ich mit JavaScript zum Anfang der Seite? Dies ist auch dann wünschenswert, wenn die Bildlaufleiste sofort nach oben springt. Ich suche kein reibungsloses Scrollen.
javascript
scroll
KingNestor
quelle
quelle
Antworten:
Wenn Sie die Änderung nicht zum Animieren benötigen, müssen Sie keine speziellen Plugins verwenden. Ich würde nur die native JavaScript-Methode window.scrollTo verwenden. Wenn Sie 0,0 übergeben, wird die Seite sofort nach links oben gescrollt .
Parameter
quelle
window.scrollTo(0, document.body.scrollHeight);
Wenn Sie reibungslos scrollen möchten, versuchen Sie Folgendes:
Das wird jedes
<a>
Tag nehmen, dessenhref="#top"
und es glatt nach oben scrollen.quelle
window.pageYOffset
wäre das Eigentum des Fensters e̶l̶e̶m̶e̶n̶t̶ Objekt.Versuchen Sie dies, um nach oben zu scrollen
quelle
Bessere Lösung mit flüssiger Animation:
Referenz: https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo#Example
quelle
ScrollOptions
(für bestimmte Browser): github.com/iamdustan/smoothscrollDazu benötigen Sie jQuery nicht. Ein Standard-HTML-Tag reicht aus ...
quelle
Alle diese Vorschläge eignen sich hervorragend für verschiedene Situationen. Für diejenigen, die diese Seite über eine Suche finden, kann man dies auch ausprobieren. JQuery, kein Plug-In, scrollen Sie zum Element.
quelle
glatte Schriftrolle, reines Javascript:
quelle
Bearbeiten:
Eine andere Möglichkeit, mit dem oberen und linken Rand zu scrollen:
quelle
animate
Funktion keine Zeichenfolge verwenden. Stattdessen sollten Sie$('html, body').animate({scrollTop:(scroll_pos)}, 2000);
in html
quelle
Wirklich seltsam: Diese Frage ist seit fünf Jahren aktiv und es gibt immer noch keine Vanille-JavaScript-Antwort, um das Scrollen zu animieren. Also los geht's:
Wenn Sie möchten, können Sie dies in eine Funktion einbinden und über das
onclick
Attribut aufrufen . Überprüfen Sie diese jsfiddleHinweis: Dies ist eine sehr einfache Lösung und möglicherweise nicht die leistungsstärkste. Ein sehr ausführliches Beispiel finden Sie hier: https://github.com/cferdinandi/smooth-scroll
quelle
Wenn Sie reibungslos scrollen möchten, versuchen Sie Folgendes:
Eine andere Lösung ist die JavaScript-Methode window.scrollTo:
Parameter:
quelle
Mit
window.scrollTo(0, 0);
ist sehr schnell,also habe ich das Mark Ursino-Beispiel ausprobiert, aber in Chrome passiert nichts
und ich habe dies gefunden
Ich habe alle 3 Browser getestet und es funktioniert. Ich verwende Blueprint-CSS.
Wenn ein Kunde auf die Schaltfläche "Jetzt buchen" klickt und die Mietdauer nicht ausgewählt ist, bewegt er sich langsam an die Spitze der Kalender und öffnet einen Dialog, auf den div zeigt die 2 Felder, nach 3 Sekunden wird es ausgeblendet
quelle
Eine Menge von Benutzern empfiehlt die Auswahl sowohl die HTML - und Body - Tags für Cross-Browser - Kompatibilität, etwa so:
Dies kann Sie jedoch stören, wenn Sie darauf zählen, dass Ihr Rückruf nur einmal ausgeführt wird. Es wird tatsächlich zweimal ausgeführt, da Sie zwei Elemente ausgewählt haben.
Wenn das ein Problem für Sie ist, können Sie Folgendes tun:
Der Grund dafür ist, dass in Chrome
$('html').scrollTop()
0 zurückgegeben wird, in anderen Browsern wie Firefox jedoch nicht.Wenn Sie nicht warten möchten, bis die Animation abgeschlossen ist, falls sich die Bildlaufleiste bereits oben befindet, versuchen Sie Folgendes:
quelle
Der Alte
#top
kann den Trick machenFunktioniert gut in FF, IE und Chrome
quelle
quelle
Versuche dies
quelle
$(document).scrollTop(0);
funktioniert auch.quelle
Nicht-jQuery-Lösung / reines JavaScript:
quelle
Das wird funktionieren:
window.scrollTo(0, 0);
quelle
Versuchen Sie diesen Code:
div => Dom Element, in das Sie den Bildlauf verschieben möchten.
Zeit => Millisekunden, definieren Sie die Geschwindigkeit des Bildlaufs.
quelle
Reine JavaScript-Lösung:
Ich schreibe eine animierte Lösung auf Codepen
Sie können auch eine andere Lösung mit CSS-
scroll-behavior: smooth
Eigenschaft ausprobieren .quelle
Warum verwenden Sie nicht die in JQuery integrierte Funktion scrollTop:
Kurz und einfach!
quelle
Sie brauchen JQuery nicht. Sie können einfach das Skript aufrufen
Klicken Sie auf die Schaltfläche "Nach oben"
Beispieldemo:
output.jsbin.com/fakumo#
PS: Verwenden Sie diesen Ansatz nicht, wenn Sie moderne Bibliotheken wie anglejs verwenden. Das könnte den URL-Hashbang kaputt machen.
quelle
Verwenden Sie einfach dieses Skript, um direkt nach oben zu scrollen.
quelle
Wenn Sie keinen reibungslosen Bildlauf wünschen, können Sie die Animation für den reibungslosen Bildlauf betrügen und stoppen, sobald Sie sie starten ... wie folgt:
Ich habe keine Ahnung, ob es empfohlen / erlaubt ist, aber es funktioniert :)
Wann würden Sie dies verwenden? Ich bin mir nicht sicher, aber vielleicht, wenn Sie einen Klick verwenden möchten, um eine Sache mit Jquery zu animieren, aber eine andere ohne Animation? Öffnen Sie also oben auf der Seite ein Anmelde-Admin-Anmeldefenster und springen Sie sofort nach oben, um es anzuzeigen.
quelle
Motivation
Diese einfache Lösung funktioniert nativ und implementiert einen reibungslosen Bildlauf zu einer beliebigen Position.
Es wird vermieden, Ankerlinks (solche mit
#
) zu verwenden, die meiner Meinung nach nützlich sind, wenn Sie auf einen Abschnitt verlinken möchten, aber in einigen Situationen nicht so komfortabel sind, insbesondere wenn Sie nach oben zeigen, was dazu führen kann, dass zwei verschiedene URLs auf die verweisen gleicher Ort ( http://www.example.org und http://www.example.org/# ).Lösung
Fügen Sie dem Tag, zu dem Sie scrollen möchten, eine ID hinzu , z. B. Ihrem ersten Abschnitt , in dem diese Frage beantwortet wird. Die ID kann jedoch überall auf der Seite platziert werden.
Dann können Sie als Schaltfläche einen Link verwenden. Bearbeiten Sie einfach das onclick- Attribut mit einem Code wie diesem.
Wobei das Argument von
document.getElementById
die ID des Tags ist, zu dem Sie nach dem Klicken scrollen möchten.quelle
Sie können einfach ein Ziel aus Ihrem Link verwenden, z. B. #someid, wobei #someid die ID des Divs ist.
Sie können auch eine beliebige Anzahl von Bildlauf-Plugins verwenden, die dies eleganter machen.
http://plugins.jquery.com/project/ScrollTo ist ein Beispiel.
quelle
Sie können versuchen, JS wie in dieser Geige zu verwenden http://jsfiddle.net/5bNmH/1/
Fügen Sie die Schaltfläche "Nach oben" in Ihre Seitenfußzeile ein:
quelle
quelle
Keine der oben genannten Antworten funktioniert in SharePoint 2016.
Dies muss folgendermaßen erfolgen: /sharepoint/195870/
quelle