Ändern Scrollbar Position
-
12-09-2019 - |
Frage
Ist es möglich, die Bildlaufposition zu ändern, wenn der Benutzer einen bestimmten Punkt erreicht eine Web-Seite nach unten scrollen? Zum Beispiel, wenn Sie auf halbem Weg nach unten auf der Seite erreichen die Scrollbar automatisch wieder nach oben bewegen würden.
Lösung
Sie können den Prozentsatz der aktuellen Position des Rollbalkens berechnen die onscroll Veranstaltung, und wenn es mit dem scrollTo Funktion:
window.onload = function () {
window.onscroll = function () {
var doc = document.body,
scrollPosition = doc.scrollTop,
pageSize = (doc.scrollHeight - doc.clientHeight),
percentageScrolled = Math.floor((scrollPosition / pageSize) * 100);
if (percentageScrolled >= 50){ // if the percentage is >= 50, scroll to top
window.scrollTo(0,0);
}
};
};
Sie können mein Beispiel überprüfen hier .
Andere Tipps
Yup, ich habe es ein paar Mal gesehen. Hier sind einige JS-Code:
window.scrollBy(0,50)
50 ist die Anzahl der Pixel Sie blättern durch wollen.
Die drei Scrollen Funktionen, die Sie sich wünschen werden kümmern mit sind window.scroll(x,y)
, window.scrollBy(dx,dy)
und window.scrollTo(x,y)
.
Wie David erwähnt werden Sie die Scroll-Position müssen wissen, wo Sie sind und das window.onscroll
Ereignis verwenden, um diese Berechnung abzufeuern.
(window.pageYOffset || || document.body.scrollTop document.documentElement.scrollTop) sollten Sie die aktuelle Bildlaufposition in fast jedem Browser geben.