0

用于scrollify.js页面滚动。我有我的自定义导航栏,它曾经使用 offsetTop 滚动。

$(".fixed-nav a").click(function(evn) {
    evn.preventDefault();
    $('html, body').animate({
        scrollTop: $($(this).attr('href')).offset().top
    }, 500);
});

我的页面也有滚动部分和普通部分。也就是说我有 6 个部分,其中前三个是滚动部分,其余三个是正常部分。

一切正常。但问题是当我从第 1 部分单击第 6部分(即非滚动部分)时,它降落在第 3 部分(即最后一个滚动部分)部分,而不是降落在第 6 部分。

这是提琴手供参考。任何帮助表示赞赏。提前致谢。

4

1 回答 1

0

找不到任何解决方案或建议。所以我写了自己的定义来解决我的问题。这对我有帮助。

当我单击没有滚动效果的导航时,我曾经$.scrollify.instantMove()移动到最后一个滚动部分,然后使用普通scrollTopjquery 导航到所需部分。

$(".fixed-nav a").click(function(evn) {
    evn.preventDefault();
    if ($(this).hasClass('no-scroll') && (!$(this).closest('li').siblings('.active').find('a').hasClass('no-scroll'))) {
      $.scrollify.instantMove('#3');
      $('html, body').animate({
        scrollTop: $($(this).attr('href')).offset().top
      }, 500);
    } else {
      $('html, body').animate({
        scrollTop: $($(this).attr('href')).offset().top
      }, 500);
    }
  });
});

找到这个提琴手以供参考。

于 2017-08-22T12:08:56.167 回答