2012-09-05 86 views
4

我有位於頁面底部的DIV:如何跳轉到使用JavaScript放置頁面底部的特定div?

<div id="myDiv"></div> 

我想去這個div執行我的JS-功能後。換句話說,我想讓我的網址變成myurl#myDiv並轉到我的div。但沒有重新加載頁面。這可以如何使用JavaScript來完成?不幸的是,我還沒有找到這個問題的工作解決方案。我沒有使用任何JS庫和框架。

+0

大衛的答案是更好的解決方案,它*任何DOM元素(帶或不帶ID)都可以滾動到視圖中。*通過我的答案,您只能滾動到頁面上的ID /錨點。 –

回答

6

嘗試窗口的位置設置到該ID的。瀏覽器將滾動到該元素。

window.location.hash = '#myDiv'; 
+0

更好的使用location.hash –

+0

是的,你說得對。然而,它在一個簡短的測試中使用了'location.href',儘管IE可能會窒息。 –

18

要滾動到一個特定的元素,使用,scrollIntoView,由IE6 +和真正的瀏覽器支持:

document.getElementById('myDiv').scrollIntoView(); 

上domready中檢查window.location.hash,看是否有在URL中的哈希匹配您的文檔中的任何元素。

如果在文檔中#myDiv鏈接,你將需要onclick偵聽器添加到它們,手動執行滾動,按上面的代碼,並return false避免鏈接#myDiv以下。

Demo

+1

+1'IE6 +和真實的瀏覽器':你是對的,IE 6不再是真正的瀏覽器_this day和age_) – ComFreek

3

scrollIntoView(真)方法還接受參數指定是否對齊到頂部(真)或底部(假)。

相關問題