2015-10-18 32 views
0

我一直试图找到一种方法来hightlight我的菜单图标,当用户滚动通过的某一点,我发现使用航点的方式:航点菜单突出

<script> 
    var waypoint0 = new Waypoint({ 
     element: document.getElementById('pagetopAnchor'), 
     handler: function() { 

      $('a[href="#pagetop"]').toggleClass('highlighted'); 
     } 
    }) 
    var waypoint1 = new Waypoint({ 
     element: document.getElementById('pagemiddleAnchor'), 
     handler: function() { 
      $('a[href="#pagetop"]').toggleClass('highlighted'); 
      $('a[href="#pagemiddle"]').toggleClass('highlighted'); 
     } 
    }) 
    var waypoint2 = new Waypoint({ 
     element: document.getElementById('pagebottom'), 
     handler: function() { 
      $('a[href="#pagemiddle"]').toggleClass('highlighted'); 
      $('a[href="#pagebottom"]').toggleClass('highlighted'); 
     } 
    })  
</script> 

但我也有一个smoothscroll,所以当我按下菜单图标时,它会滚动到我想要的位置,但航点标记脚本不会触发 - 我必须自己滚动一下才能看到它在运行。

你有什么想法如何解决它? (所以当我按下菜单图标时,它会滚动并切换.highlighted类) 我一直在尝试一段时间,无法达到解决方案。

回答

-1

没关系。 有时候,解决方案恰到好处。 Waypoints.js有一个“偏移”选项。

对不起!

+0

如果你自己找到答案,请不要犹豫,回答你自己的问题。我看到你已经做到了。但是,回答这个问题,以便其他人也可以使用这些信息。请参阅[我如何写出一个好的答案?](http://stackoverflow.com/help/how-to-answer)和[我可以回答我自己的问题?](http://stackoverflow.com/help/self -回答) – Victor