我有一個內部DIV用於內容的HTML頁面。內部DIV有它自己的滾動條。我想自動滾動到DIV中的某個位置。如何以編程方式滾動具有自己的滾動條的div?
我該怎麼做? (請注意,我不希望自動滾動窗口滾動條 - 我已經知道如何做到這一點)
一個跨平臺的解決方案需要
我有一個內部DIV用於內容的HTML頁面。內部DIV有它自己的滾動條。我想自動滾動到DIV中的某個位置。如何以編程方式滾動具有自己的滾動條的div?
我該怎麼做? (請注意,我不希望自動滾動窗口滾動條 - 我已經知道如何做到這一點)
一個跨平臺的解決方案需要
的div有一個scrollTop
屬性,你可以設置(和其朋友,scrollLeft
)。
有這個.scrollTo()
方法,可以幫助你通過你的div滾動。嘗試更多信息請訪問here
添加一個div(要滾動):
<div id="#scroll-here">Test..</div>
,並添加像這樣的鏈接:
<a href="#scroll-here">Scroll to Test</a>
如果你想有一個平滑滾動你可以檢查this
只要JavaScript是可以接受的,我創建了一個demo using jQuery,它使用一個已知元素,並在div
。
$(function() {
var testOffset = $('#test').offset(),
scrollOffset = $('#scroll').offset();
$('#scroll').scrollTop(testOffset.top - scrollOffset.top);
});
如果你只知道有多遠,在像素方面,而不是特定的元素,它可以適用於:
$(function() {
$('#scroll').scrollTop(100);
});
我會建議有一個看scrollTo jQuery plugin。這是一個非常方便的插件,可以讓您在任何元素中爲動畫滾動。我在jsFiddle中設置了一個小例子,演示了它的工作原理。這個例子說明了如何「滾動到」第三p
在第一div
,然後第二p
第二div
。有一兩件事值得一提的是,爲確保position().top
是正確的,你需要設置包含div
有position: relative;
。但希望這不是太多問題。 :)