2011-09-22 72 views
6

在我的網頁上我有一個溢出的div(即與垂直滾動條)。在div裏面,我有錨的ID。當我將其中一個id放入URL(mypage.html#id)時,我希望div而不是頁面滾動到該錨點。如何將溢出的div滾動到標題標籤(錨)?

我該怎麼做,最好用普通的JavaScript?如果它太複雜,我會使用jQuery,但是我沒有在這個項目中使用它。

+0

顯示你的代碼到目前爲止 –

+0

所以這3個答案的工作,謝謝。我仍然需要進行跨瀏覽器測試,但現在我使用.focus() – user323094

+0

因此,在多個瀏覽器中進行測試表明只有.scrollTop()可以工作。 – user323094

回答

9
$('.overflow').scrollTop($('#anchor').offset().top); 

沒有任何理由不能將它轉換爲標準的javascript。

請注意,如果錨元素上存在邊距,滾動將關閉。

+0

我不得不重新組織我的HTML和CSS,但這是有效的(使用.position(),而不是.offset())。我看着jQuery源代碼,並將這些方法拆分出來可能有點困難。如果我能成功,我會嘗試發佈純JavaScript。 – user323094

+0

jQuery中存在太多的相互依賴關係來解決這個問題。到底是什麼,我會用這個解決方案 - 我剛剛意識到,對於下一個功能,我會使用jQuery。感謝你的回答。 – user323094

+0

其實,我會用焦點()更簡單的解決方案,只是測試它。 – user323094

2

您是否試圖在錨上設置focus()

任何帶有tabindex的DOM元素都是可聚焦的,任何具有焦點的元素都將被瀏覽器滾動到視圖中。

+0

感謝您的回答。 – user323094

+0

是的,謝謝你! – chris