我有2页几乎固定在顶部(除了链接)相同的菜单
菜单是链接到网页区段页面1(主页)链接到其他网页并滚动到节
上菜单页1
<nav id="mainNav">
<ul>
<li><a href="#about">over ons</a></li>
<li><a href="#services">diensten</a></li>
<li class="contact"><a href="#contact">contacteer ons</a></li>
</ul>
</nav>
菜单页2
<nav id="mainNav">
<ul>
<li><a href="/#about">over ons</a></li>
<li><a href="/#services">diensten</a></li>
<li class="contact"><a href="/#contact">contacteer ons</a></li>
</ul>
</nav>
在主页上,当我点击菜单项,页面滚动很好的该部分没有p在Url中放置类似/#部分的内容。 为此,我使用:
$("#mainNav ul a, .logo a, .cta a").click(function(e){
var full_url = this.href;
var parts = full_url.split("#");
var trgt = parts[1];
var target_offset = $("#"+trgt).offset();
var target_top = target_offset.top;
$('html,body').animate({scrollTop:target_top -66}, 800);
return false;
});
现在,当我第2页,一个不太重要的内容页面,菜单仍然需要为我的主页工作。 所以,当我点击一个菜单项时,它应该回到主页面并滚动到该部分。
要求:
- 在URL中有polution(/#部分)。
- 标题需要66px,因此它应该在该部分实际启动之前滚动到66px。
- 这应该只是2页上的菜单(2页上添加不同类的HTML也许?)
对于这种情况任何想法或最佳实践?