我使用以下jQuery在點擊後給予my links(頂部菜單欄)平滑移動。使用絕對路徑錨鏈接的平滑移動
這個工作正常,當鏈接是<a href="#services">link</a>
;然而,一旦整個地址被預置爲散列標記<a href="http://domain.com#services">link</a>
,它就不起作用。
我必須使用絕對路徑,所以當從內部頁面點擊鏈接時,它們仍會將您帶回主頁和正確的位置。
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function() {
window.location.hash = target;
});
});
有關如何修改該代碼的任何想法,因此它適用於絕對路徑的鏈接?
然後,您將不得不做的是防止新加載的頁面滾動到目標錨點,然後適當地將其動畫到正確的位置。 – Terry