将页面滚动到div

Ala*_*dou 0 javascript jquery

我需要滚动到div但滚动后我不需要div在页面顶部

我需要它在页面中如何做到这一点 在页面的中心.

我看到许多问题使滚动正确,但在页面顶部我需要它滚动,但使div在页面的中心.

我已经尝试了这个,但是滚动到页面顶部

$('html,body').animate({
    scrollTop: $("#"+div).offset().top},
'slow');
Run Code Online (Sandbox Code Playgroud)

谢谢

如何使用jQuery滚动到特定项目?滚动到div但是在页面顶部而不是在中心

Dra*_*18s 5

为了在滚动后使div 在窗口中居中,您需要:

  1. 查询浏览器的窗口高度(这是可行的)
  2. 查询div的高度(这是可行的,但你需要小心:高度并不总是准确计算)
  3. 从第1行减去第2行,然后除以2
  4. 将第3行的结果添加到您的top值

注意:当你的div 高于浏览器窗口时,它仍然会居中,但div的顶部将不在屏幕上!