Kann eine CSS-Überlaufscrollleiste in Javascript gesteuert werden?

8

Ich habe eine div mit einer Klasse overflow: auto; Gibt es eine Möglichkeit, diese Bildlaufleiste zu steuern, wenn sie erscheint?

Ich habe eine Ajax-Fotogalerie (keine Seitenaktualisierung), bei der einige Untertitel in div enthalten sind, aber der Inhalt hat unterschiedliche Länge. Wenn Sie in diesem div nach unten blättern und dann zur nächsten Folie weitergehen, wird die Bildlaufleiste nicht nach oben verschoben. Also habe ich mich gefragt, ob es eine Möglichkeit gibt, diese Bildlaufleiste zu steuern. Danke.

    
Stephen 16.05.2011, 19:58
quelle

4 Antworten

6

Mit jQuery können Sie den oberen Bereich des Bildlaufbereichs wie folgt festlegen:

%Vor%

Hier ist eine Demo, die dies in Aktion zeigt - & gt;

Beachten Sie, dass dies auch ohne jQuery möglich ist:

%Vor%

Und eine Demo von diesem & gt;

Drücken Sie bei beiden Demos die Reset-Taste, um die Bildlaufleiste wieder nach oben zu setzen.

    
Ender 16.05.2011, 20:10
quelle
4

Sie können den Wert der Eigenschaft scrollTop des Elements <div> ändern.

Siehe element.scrollTop für MDC-Dokumente

Siehe element.scrollTop auf MSDN

Obwohl scrollTop nicht zu einem Standard gehört, wird es von allen gängigen Browsern unterstützt.

    
Elian Ebbing 16.05.2011 20:06
quelle
4

Um den vertikalen Balken bei einem übergelaufenen Element myControl wieder nach oben zu bewegen, müssen Sie

ausführen %Vor%

oder, im Falle eines horizontalen Balkens, zum Anfang (links)

%Vor%

Wenn Sie die Bildlaufleisten ausblenden möchten, müssen Sie dieses CSS ausführen

%Vor%

Sie gehen davon aus, dass die nächste Folie oben liegt. Wenn Sie über absolut positionierte Folien verfügen, sollten Sie besser Folgendes tun, um sicherzustellen, dass Sie zum richtigen nextSlide-Ort scrollen:

%Vor%     
Jose Rui Santos 16.05.2011 20:07
quelle
1

Aktualisieren Sie nach einem Test mit elm.scrollTop = 0 :

%Vor%     
Mic 16.05.2011 20:05
quelle

Tags und Links