平滑滚动和突出显示的导航问题

时间:2012-08-02 18:52:37

标签: javascript jquery menu navigation smooth-scrolling

在我的网站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>

1 个答案:

答案 0 :(得分:0)

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

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

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

你可以通过这样做来解决这个问题,当页面加载时,隐藏内联元素的位置不是0.我建议不要使用联系表单的模态对话框 - 只需使用一个居中的常规表单一个div。

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

相关问题