我正试图让我的页面滑动到点击的下一部分内容,但我遇到了一个小问题。
$("#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时,代码确实有效。
答案 0 :(得分:0)
尝试:
scrollTop: $(scrollTo).offset().top - $(container).offset().top + container.scrollTop()
你不能只使用元素的变量和jQuery,你总是要把它放在jQuery $()
包装器中。
对于container.scrollTop()
我认为它应该有效,因为scrollTop()
是本机JS,虽然它可能不是因为你首先使用jQuery将元素保存到container-var中
答案 1 :(得分:0)
我在HTML上写了一个小错字。发现问题并修复它。