【问题标题】:Sidenavigation Which Highlights Which Part of Page is ViewedSidenavigation 突出显示页面的哪个部分被查看
【发布时间】:2014-05-31 21:33:06
【问题描述】:

我想为我的一个滚动密集型网页上的不同部分创建一个侧边导航栏。我想做的是让导航栏指示正在查看网站的哪个部分。这方面的一个例子是http://www.ifc.com/back-to-portlandia/#welcome。当浏览网站的相应部分时,右侧的导航栏带有六个圆形按钮,分别标记为 1 到 6,实际上每个按钮都会变成橙色。

我该怎么做?

【问题讨论】:

    标签: html css highlight android-side-navigation


    【解决方案1】:

    这就是我为你所做的。我制作了许多幻灯片,并且根据它们的高度,我可以知道用户何时更换幻灯片。当他这样做时,我删除了 .current 类并将其放到下一个 li 中。目前,它仅在您向下滚动时有效,但通过一些调整,您可以在用户向上滚动时轻松执行相同操作。

    Here's the fiddle

    我的 Javascript 看起来像这样:

    $(document).scroll(function() {
        if($(window).scrollTop() > $('.slide').height()*$('.current').index()){
            $('.current').removeClass('current');
            var newSlide = Math.floor($(window).scrollTop() / $('.slide').height());
            $('.navigation li:eq('+newSlide+')').addClass('current');
        }
    }); 
    

    【讨论】:

    • 它似乎在小提琴中完美运行,但是当我将它复制到新文档时,它不起作用。从小提琴转移到实际文档时,我一直遇到这个问题。我把它放在tsawebmaster1.hhstsa.com/sidenav.html。我做错了吗?
    • 你需要链接jQuery库。一个简单的方法是在你的页面中添加­<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    • 为了让它向上工作,我只是翻转了 标志并将 +newSlide+ 替换为 -newSlide- 并且它似乎工作。感谢您的帮助!
    • 很高兴能帮上忙!如果您有 2 秒的时间,请投票给我的答案。
    • 我需要 15 的声望,但如果我有的话我会的。我把你的作为一个有效的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多