我有一个主菜单,显示在网站的每个页面上。该菜单中的一个链接链接到主页上的特定 div。
我希望当我单击该链接时,它应该滚动到该 div 上方 50 像素。
因此,当我在主页上然后单击它时,它应该平滑滚动到该特定 div 上方 50 像素。
当我在另一个页面上并单击该链接时,它应该重定向到主页并滚动到该特定 div 上方 50 像素。
我试过的代码
<a href='/#element_id'>Link</a>
$('a').click(function() {
var divLoc = $('#element_id').offset();
$('html, body').animate({
scrollTop: divLoc.top-50}, "slow");
});
但这仅在我在主页上时才有效,因为该特定 div 在主页上。
我知道该怎么做吗?