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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top