2015-03-02 28 views
-5

当用户从一个页面移动到另一个页面时,我有一行Javascript侧栏,它突出显示了他们所在的侧栏菜单。我有一些链接到同一网页上的内容的菜单项,我希望在用户向上或向下滚动菜单项时自动更新菜单,这些菜单项与页面上的部分相关。如何知道用户在网页中从一个部分移动到另一个部分的时间?

有没有办法根据我的锚标签做到这一点?

编辑:

这些锚标签:

<a name="Section1"></a> 
<a name="Section2"></a> 
+0

嗨,我们不能看到'代码'在这里! – 2015-03-02 17:52:46

+0

你的意思是你的问题中提供的锚点标记?因为没有。 – PlantTheIdea 2015-03-02 17:52:59

+1

男人,你们是无情的。 – BVernon 2015-03-02 17:57:46

回答

3

什么你正在谈论有时也被称为scroll spy

这里是一个的jsfiddle(由一个未知的SO英雄写的),显示了简化例。

http://jsfiddle.net/mekwall/up4nu/

基本上,您使用$(window).scroll()功能,监视该用户是在文档中。

$(window).scroll(function(){ 
    // Get container scroll position 
    var fromTop = $(this).scrollTop()+topMenuHeight; 

    // Get id of current scroll item 
    var cur = scrollItems.map(function(){ 
    if ($(this).offset().top < fromTop) 
     return this; 
    }); 

}); 
+0

完美!感谢jsfiddle的例子! – BVernon 2015-03-02 18:19:09

相关问题