我正在关注这篇文章。
Scroll to the center of viewport
我喜欢这个答案但是当我使用它时,我的控制台出错了。
$('body').animate({
scrollTop: $(this).offset().top - ($(window).height()-$(this).outerHeight(true)) / 2
}, 5000);
错误:
未捕获的TypeError:无法读取未定义的属性“top”
我不确定为什么$(this).offset() is undefined
。任何人都可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:2)
而不是使用$(this)
,而是使用$('body').offset()
。看起来$(this)
指的是没有偏移属性的窗口对象。
答案 1 :(得分:1)
你需要提到“这个”代表什么。在你提到的post中,他们正在使用'img'标签。请改用:
$( document ).ready(function() {
$('body').animate({ scrollTop: $('body').offset().top - ( $(window).height() - $(this).outerHeight(true) ) / 2 }, 500);
});
此外,您可能希望将最后的5000更改为较小的数字。否则,滚动到页面中心需要5秒钟。