2013-02-11 41 views
0

我想在一個錨點鏈接到一個網頁,即:如何在滾動的位置渲染頁面?

<a href="/about/#content/">About</a> 

<div id="content">…</div> 

正常的瀏覽器的行爲是來渲染頁面,然後跳轉到錨/ ID。有沒有辦法到頁面的錨位置頁面呈現之前的位置?

我使用

$(document).scrollTop($('#content').offset().top); 

想這可能移動到另一個位置足夠快,以防止全頁面加載的閃存嘗試,但它不工作,直到DOM準備好了,所以它不夠快。

我可以選擇隱藏要素,移動到的位置,然後向他們展示,但我想知道如果有一種方法,我不知道湊齊一個變通。

回答

0

我不認爲有這樣做的其他任何直接的方式。您只能保證更快地鏈接到特定的div,使DOM儘快在DOM中可用。

您可以通過加載所需的div進行靜態鏈接,同時動態加載其他div的內容。再次,而這樣做,你必須確保頁面始終滾動到這個div,由

$(document).scrollTop($('#content').offset().top); 

定期執行的代碼,當頁面的其他內容也越來越動態加載的頁面大小可能會傾向於增加我們希望始終在內容div上保持滾動位置。

+0

感謝您的答覆。我嘗試了動態加載其他元素,但如果需要多個scrollTop命令,它實際上會產生更多的頁面跳轉。到目前爲止,它的工作更好地加載的一切,隱藏不滾動的元素,揭示他們都曾經在頁面中的位置加載。 – 2013-02-12 18:50:01