你應該先解決了你的錨和使用哈希代碼段,允許本地導航在錨點之間。
我已經創建了一個非常簡單的演示,以便您理解這一點(不使用標記來簡化它)。
演示:http://jsfiddle.net/abhitalks/9uxGq/15/
(與你的標記另一個演示:http://jsfiddle.net/abhitalks/9uxGq/19/)
你需要兩個錨,一個是點擊鏈接和其他標記目標的錨位置。
例如:
<div>
<a id="LearnMore1"></a> <!-- Used for marking the anchor with hash fragment -->
<h2>Sub Heading 2</h2>
<p>
Some text content here
</p>
<a href="#LearnMore2">Learn More</a> <!-- Used to click to got to next anchor -->
</div>
注:當然不是使用第二錨的標記,你可以用一個id
使用div
(或你的情況section
)。但是,a
更好,因爲它對於內容導航更具語義,並且它意味着定位點。
一旦完成,這將成爲你的後備。現在,您可以使用輕鬆實現動畫的jQuery等
這將是如此簡單:
// bind click on anchors (use selectors as per your requirements)
$("a").on("click", function(e) {
e.preventDefault(); // prevent the default behaviour
var nextAnchor = this.hash.replace("#", ""); // get the next marker anchor
var gotoPoint = $("#" + nextAnchor).position().top; // get the position of marker
$('body').animate({ scrollTop: gotoPoint }, 'normal'); // animate the body
});
或者:
// bind click on anchors (use selectors as per your requirements)
$("a").on("click", function(e) {
e.preventDefault(); // prevent the default behaviour
var nextAnchor = $(this).attr('href'); // get the next marker anchor
var gotoPoint = $(nextAnchor).position().top; // get the position of marker
$('body').animate({ scrollTop: gotoPoint }, 'normal'); // animate the body
});
現在將其應用到您的使用案例,演示變爲: http://jsfiddle.net/abhitalks/9uxGq/19/
希望對您有所幫助s,你可以在你的標記和用例中解決它。 。
你期待它的行爲如此http://jsfiddle.net/niranjan_borawake/9uxGq/11/? –
部分應該在點擊時移動到頁面的頂部,還是應該滾動到視圖端口的頂部? –
爲什麼你需要jQuery?在你的url中使用錨點標籤名稱來指出特定的部分。 –