我想滾動到一個元素(使其對用戶可見),即使元素位於頁面的底部。如何讓頁面滾動到一個元素?
我試圖
document.getElementById('idOfLink').focus();
但如果元素是在一個很長的網頁它不是對用戶可見的底部。
我想滾動到一個元素(使其對用戶可見),即使元素位於頁面的底部。如何讓頁面滾動到一個元素?
我試圖
document.getElementById('idOfLink').focus();
但如果元素是在一個很長的網頁它不是對用戶可見的底部。
如果'window.location'已經有散列,那麼這個代碼能工作嗎? – Blazemonger
現有哈希替換 – campino2k
有兩種可能的方法,每個方法適用於不同的場景:
您可以使用scrollIntoView()
,這將元素滾動到視圖中,但不會添加保存用戶按下後退按鈕時的「狀態」:
document.getElementById('idOfLink').scrollIntoView();
如果你想支持後退按鈕,你將需要修改window.location.hash
:
window.location.hash = 'idOfLink';
+1,我喜歡學習新功能 – Joe
在jQuery中,可以很容易地滾動到抵消任何元素:'$(窗口).scrollTop($('# idOfLink')。offset()。top);' – Blazemonger
@ mblase75:使用純DOM方法更簡單,更健壯。 –