如何在每个html部分移动页面滚动,以便在单击导航栏中的相应链接后跳转到每个部分的顶部?

时间:2016-03-23 13:09:23

标签: jquery html css

我的页面滚动问题。当我单击导航栏中的链接时,它应该跳到该部分的顶部。但是,当我单击一个链接时,它会跳转到某个部分的中间部分。有没有办法以任何方式转换页面滚动来纠正这个问题。以下是代码笔http://codepen.io/perrylivingston/pen/KzadPW?editors=1010

上代码的链接
<nav class="navbar-collapse navbar-inverse navbar-collapse-1 navbar-fixed-top" role="navigation">

                    切换导航                                                            

  • 主页
  •         
  • 关于
  •         
  • 组合
  •         
  • 联系
  •            

    1 个答案:

    答案 0 :(得分:0)

    这应该可以完成这项工作,并确保拥有您在底页中包含的js/jquery.easing.min.js文件

    CSS,编辑

    .barrier {
      top: 80px;
      position: relative;
      width: 100vw;
    }
    
    #headline {
      color: #FFFFFF;
    }
    

    JS,添加

    //jQuery to collapse the navbar on scroll
    $(window).scroll(function() {
        if ($(".navbar").offset().top > 50) {
            $(".navbar-fixed-top").addClass("top-nav-collapse");
        } else {
            $(".navbar-fixed-top").removeClass("top-nav-collapse");
        }
    });
    
    //jQuery for page scrolling feature - requires jQuery Easing plugin
    $(function() {
        $('a.page-scroll').bind('click', function(event) {
            var $anchor = $(this);
            $('html, body').stop().animate({
                scrollTop: $($anchor.attr('href')).offset().top-80
            }, 1000, 'easeInOutExpo');
            event.preventDefault();
        });
    });
    

    HTML,编辑:将所有部分放在.barrier

    <div class="collapse navbar-collapse" id="navbar-collapse-1">
        <ul class="nav navbar-nav">
            <li><a class="page-scroll" href="#home">Home</a></li>
            <li><a class="page-scroll" href="#about">About</a></li>
            <li><a class="page-scroll" href="#portfolio">Portfolio</a></li>
            <li><a class="page-scroll" href="#contact">Contact</a></li>
        </ul>
    </div>