首頁 > web前端 > js教程 > 如何在不捲動整個頁面的情況下自動將 div 捲動到其中的特定元素?

如何在不捲動整個頁面的情況下自動將 div 捲動到其中的特定元素?

DDD
發布: 2024-10-29 10:24:30
原創
668 人瀏覽過

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

滾動到Div 中的元素

您的目標是對滾動的div 進行編程,使其在單擊時自動滾動到其中的元素。使用scrollIntoView(true)似乎會捲動整個頁面,讓你感到困惑。

解決方案:

要解決這個問題,你需要確定頂部的偏移量目標元素相對於其父元素(滾動 div 容器)。這是透過以下方式實現的:

<code class="js">var myElement = document.getElementById('element_within_div');
var topPos = myElement.offsetTop;</code>
登入後複製

topPos 現在包含 div 頂部與您想要可見的元素之間的像素距離。

接下來,使用scrollTop 指示div 捲動到該位置:

<code class="js">document.getElementById('scrolling_div').scrollTop = topPos;</code>
登入後複製

在Prototype JS 中,這會轉換為:

<code class="js">var posArray = $('element_within_div').positionedOffset();
$('scrolling_div').scrollTop = posArray[1];</code>
登入後複製

此操作滾動div以在頂部對齊指定元素,或者如果滾動不對齊則盡可能靠近不允許到達頂部。

以上是如何在不捲動整個頁面的情況下自動將 div 捲動到其中的特定元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板