滚动到带有偏移的部分

时间:2016-04-06 14:35:33

标签: javascript html css

我正在寻找一种滚动到某个部分的方法,并为滚动添加一个距离(220px),因为有一个固定的菜单。enter image description here

如何设置窗口顶部的滚动距离? 这是我到目前为止所做的代码:

    $(document).ready(function() {
    $('.menudeux').on('click', function() { // Au clic sur un élément
        var page = $(this).attr('href'); // Page cible
        var speed = 750; // Durée de l'animation (en ms)
        var offset = 220;   
        $('html, body').animate( { scrollTop: $(page).offset().top}, speed ); // Go
        return false;
    });
});


   <nav class="nav-collapse">
    <a class="menuone" href="#theme" data-scroll>Thème</a>
     <a class="menuone" href="#prog" data-scroll >Programmation</a>
     <a class="menuone" href="#intervenants" data-scroll>Intervenants</a>
     <a class="menuone" href="#infos" data-scroll>Infos</a>
  </nav>


  <section id="theme">content</section>
  <section id="prog">content</section>
  <section id="intervenants">content</section>
  <section id="infos">content</section>

2 个答案:

答案 0 :(得分:2)

你只需要减去偏移量。

$(document).ready(function() {
    $('.menudeux').on('click', function() { // Au clic sur un élément
        var page = $(this).attr('href'); // Page cible
        var speed = 750; // Durée de l'animation (en ms)
        var offset = 220;
        $('html, body').animate({
            scrollTop: $(page).offset().top - offset
        }, speed); // Go
        return false;
    });
});

答案 1 :(得分:1)

看起来你已经差不多了。

尝试:

$('html, body').animate( { 
    scrollTop: $(page).offset().top - offset
}, speed );