0

在我的网站http://goo.gl/34oQ8上,我根据本教程http://trevordavis.net/blog/jquery-one-page-navigation-plugin/实现了平滑滚动和突出显示的导航, 没有“联系我们”项目,但不能使用它(只有“联系我们”菜单项​​被高亮显示)。你知道为什么吗?怀疑它链接到#inline ref - tks

<ul id="nav">
  <li class="current"><a href="#presentation">Home</a></li>
  <li><a href="#equipe">Team</a></li>
  <li><a href="#plan-activite">About us</a></li>
  <li><a href="#medias">Press</a></li>
  <li><a href="#inline" class="modalbox">Contact Us</a></li>
</ul>
4

1 回答 1

0

问题是单页导航插件没有处理隐藏元素。初始化时,它会使用以下行计算每个元素的垂直位置:

self.sections[linkHref] = Math.round(topPos) - self.config.scrollOffset;

但是,您隐藏的 #inline 元素的垂直位置为 0,这会抛出当前部分检测代码。

您可以通过使其在页面加载时隐藏的内联元素的位置不为 0 来解决此问题。我建议不要对联系表单使用模式对话框 - 只需使用以 div 为中心的常规表单。

要在不更改代码的情况下查看修复,请使用 chrome 开发人员工具或类似工具在 jquery.nav.js 的第 126 行设置断点。然后,运行'this.sections.inline = 5000;' 在控制台中。删除断点,导航会正确更新。

于 2012-08-02T19:20:58.927 回答