Heim > Web-Frontend > js-Tutorial > Wie kann ich ein Div automatisch zu einem bestimmten Element darin scrollen, ohne die gesamte Seite zu scrollen?

Wie kann ich ein Div automatisch zu einem bestimmten Element darin scrollen, ohne die gesamte Seite zu scrollen?

DDD
Freigeben: 2024-10-29 10:24:30
Original
711 Leute haben es durchsucht

How can I automatically scroll a div to a specific element within it without scrolling the entire page?

Scrollen zu einem Element innerhalb eines Div

Sie möchten ein gescrolltes Div so programmieren, dass es beim Klicken automatisch zu einem Element darin scrollt. Die Verwendung von scrollIntoView(true) scheint die gesamte Seite zu scrollen, was Sie verwirrt.

Lösung:

Um dieses Problem zu beheben, müssen Sie den oberen Versatz der Seite bestimmen Zielelement relativ zu seinem übergeordneten Element, dem scrollenden Div-Container. Dies wird erreicht durch:

<code class="js">var myElement = document.getElementById('element_within_div');
var topPos = myElement.offsetTop;</code>
Nach dem Login kopieren

TopPos enthält jetzt den Pixelabstand zwischen der Oberseite des Divs und dem Element, das sichtbar sein soll.

Als nächstes weisen Sie das Div mit scrollTop an, zu dieser Position zu scrollen :

<code class="js">document.getElementById('scrolling_div').scrollTop = topPos;</code>
Nach dem Login kopieren

In Prototype JS bedeutet dies:

<code class="js">var posArray = $('element_within_div').positionedOffset();
$('scrolling_div').scrollTop = posArray[1];</code>
Nach dem Login kopieren

Diese Aktion scrollt das Div, um das angegebene Element oben auszurichten, oder so nah wie möglich, wenn das Scrollen nicht funktioniert. Es ist nicht möglich, den Gipfel zu erreichen.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Div automatisch zu einem bestimmten Element darin scrollen, ohne die gesamte Seite zu scrollen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage