Href滚动到带偏移的页面

时间:2016-01-27 10:01:30

标签: javascript jquery html css html5

如何让页面滚动到我的ID 我使用下面的代码使页面croll到我想要的地方,但它只在页面加载时触发

$('html,body').animate({
    scrollTop: $(id).offset().top - 64
}, 'slow');

在可点击的链接上,仅

 href="page#a" 

被使用。这滚动到div而不是我想要的地方。有没有办法我可以在href上偏移64像素?感谢

id的css如下:

#a, #b {
    margin-bottom: 64 px;
    visibility: hidden;
    position: absolute;
    left: -999em;
}

2 个答案:

答案 0 :(得分:1)

       var top_val = $('.test');
        $('html, body').stop().animate({
            scrollTop: top_val.offset().top
        }, 'slow');

答案 1 :(得分:0)

  $(document).ready(function() {
      function scroll (id) {
        $(id).bind('click', function(event) {
            event.preventDefault();
            var $anchor = $(this).attr('href');
            $('html, body').stop().animate({
                scrollTop: ($anchor).offset().top - 64
            }, 'slow');
        });
      }
      scroll('#page1');
      scroll('#page2');
    });    
    <a href="" id="page1" >Visit W3Schools</a>
    <a href="" id="page2" >Visit W3Schools</a>