ScrollTo无法读取属性top

时间:2014-06-08 13:58:36

标签: jquery scrollto

我正试图让我的页面滑动到点击的下一部分内容,但我遇到了一个小问题。

$("#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当我在#content-projects(#content-me)之前链接到div时,代码确实有效。

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

2 个答案:

答案 0 :(得分:0)

尝试:

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

你不能只使用元素的变量和jQuery,你总是要把它放在jQuery $()包装器中。

对于container.scrollTop()我认为它应该有效,因为scrollTop()是本机JS,虽然它可能不是因为你首先使用jQuery将元素保存到container-var中

答案 1 :(得分:0)

我在HTML上写了一个小错字。发现问题并修复它。