滚动到无法读取属性顶部



我想让我的页面在点击时滑动到下一个内容,但是我遇到了一个小问题。

$("#projects").click(function (e) {
  event.preventDefault();
  var  container = $('#container-content'),
      scrollTo = $('#content-projects');
  container.animate({
    scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop()
  }, 1500, 'easeInSine', function () {});
});

当我点击projects我得到这个回来,Cannot read property 'top' of undefined当我链接到div之前#content-projects (#content-me)的代码工作。

http://codepen.io/alucardu/pen/lrgJo

尝试:

scrollTop: $(scrollTo).offset().top - $(container).offset().top + container.scrollTop()

你不能只使用元素的变量与jQuery结合,你总是必须把它放在jQuery $()包装器

对于container.scrollTop(),我认为它应该工作,因为scrollTop()是原生JS,虽然也许它不因为你保存元素到容器var使用jQuery在第一个地方

我在我的html上犯了一个小错字。发现问题并修复它。

最新更新