滚动偏移在向下滚动时与在顶部滚动上相同

时间:2017-03-20 09:51:41

标签: jquery html

我在wordpress中导航,其中每个链接都指向页面内部。部分就像

<section id="1">lorem ipsum dolor sit</section>
<section id="2">lorem ipsum dolor sit</section>
<section id="3">lorem ipsum dolor sit</section>

我有一个js函数来点击导致这些部分的平滑滚动

jQuery(window).load(function($) {
  // adjust scroll position on page load if *-section hash present
  if (window.location.hash) {
    var target = null;
    if (window.location.hash.indexOf('-section') > 0) {
      target = window.location.hash.substr(0, window.location.hash.indexOf('-section'));
    }
    else if (jQuery(window.location.hash).hasClass('section')) {
      target = window.location.hash;
    }
    if (target) {
      jQuery.smoothScroll({
        scrollTarget: jQuery(target),
        offset: -50,
        afterScroll: function() {
          window.location.hash = target + '-section';
        },
      });
    }
  }

});

当滚动下降时它工作正常,但是当它上升时,它会高出一点然后它应该。当我删除偏移-50px时,当滚动向下时它会切断一段但当它上升时它会完美无缺。 当我第一次点击链接时,它会略高于部分,但是当我再次点击同一个链接时,它会变得更低,只是应该是berfect。 有人可以帮助我,我做错了吗?

0 个答案:

没有答案