Versuchen Sie, den Bildlauf beim Laden der Seite auf eine bestimmte ID zu animieren. Ich habe viel recherchiert und bin auf Folgendes gestoßen:
$("html, body").animate({ scrollTop: $('#title1').height() }, 1000);
aber dies scheint von der ID zu beginnen und zum Anfang der Seite zu animieren?
Der HTML-Code (der sich auf der Hälfte der Seite befindet) lautet einfach:
<h2 id="title1">Title here</h2>
Antworten:
Sie scrollen nur die Höhe Ihres Elements. offset () gibt die Koordinaten eines Elements relativ zum Dokument zurück, und
top
param gibt den Abstand des Elements in Pixel entlang der y-Achse an:Und Sie können auch eine Verzögerung hinzufügen:
quelle
scroll
. In diesem Sinne würden Sie die aktuelle Bildlaufposition vonbody
zu deroffset().top
Position des Elements hinzufügen, das in der Ansicht angezeigt werden soll. Die resultierende Summe ist der Wert, zu dem wir einen Bildlauf durchführen möchten.$('html, body').animate({ scrollTop: ($('html, body').scrollTop() + $('#title1').offset().top) }, 1000);
.offset().top
würde Ihnen in diesem Fall eine negative Zahl geben. Und dies funktioniert wirklich nur fürbody
undhtml
daoffset().top
Sie den oberen Versatz des Dokuments erhalten, nicht den beabsichtigten übergeordneten Bildlauf.Reine Javascript-Lösung mit der Funktion scrollIntoView () :
Der PS-Parameter "glatt" funktioniert jetzt ab Chrome 61, wie in den Kommentaren erwähnt, julien_c .
quelle
jquery-animate-body-for-all-browser .
quelle
Hierfür gibt es ein JQuery-Plugin. Das Dokument wird zu einem bestimmten Element gescrollt, sodass es sich perfekt in der Mitte des Ansichtsfensters befindet. Es werden auch Animationserleichterungen unterstützt, sodass der Bildlaufeffekt sehr flüssig aussieht. Überprüfen Sie diesen Link .
In Ihrem Fall ist der Code
quelle
Versuchen Sie es mit folgendem Code. Erstellen Sie Elemente mit dem Klassennamen " Bildlauf" und behalten Sie den ID-Namen
href
der entsprechenden Links beiquelle
Verwenden Sie für einen einfachen Bildlauf den folgenden Stil
Höhe: 200px; Überlauf: scrollen;
und verwenden Sie diese Stilklasse, um welches Div oder welchen Abschnitt Sie scrollen möchten
quelle