我想让我的页面在点击时滑动到下一个内容,但是我遇到了一个小问题。
$("#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)的代码工作。
尝试:
scrollTop: $(scrollTo).offset().top - $(container).offset().top + container.scrollTop()
你不能只使用元素的变量与jQuery结合,你总是必须把它放在jQuery $()
包装器
对于container.scrollTop()
,我认为它应该工作,因为scrollTop()
是原生JS,虽然也许它不因为你保存元素到容器var使用jQuery在第一个地方
我在我的html上犯了一个小错字。发现问题并修复它。