在屏幕上垂直滑动到中心

时间:2015-07-08 20:09:28

标签: jquery html smooth-scrolling vertical-scrolling

我正在使用滚动视差开发网站, 只有一个长网页,分为幻灯片。

第一张适合屏幕的幻灯片是主菜单 菜单:关于我们,联系方式等 然后剩下的幻灯片也适合屏幕。

如果我想点击about us我的网站可以平滑滚动导航到第一张幻灯片下方的我们,并应导航到目标元素的中心,并在屏幕上垂直居中。

HTML

<a href="#aboutuscontents" class="active" title="Next Section" >Slide 1</a>

我想在jquery的这一行:

var targetOffset = $target.offset().top but i'm not sure with it

对此负责,但我不知道 如何居中,因为没有可用的中心top and left

问题是, 导航时,元素的最顶部将使用targetOffset粘贴到屏幕顶部的边缘。|

到这个链接: jQuery - Scroll element to the middle of the screen instead of to the top with an anchor link 这跟我的问题一样 并且链接清楚地说明我的问题是什么,并且在行中 offset = elOffset - ((windowHeight / 2) - (elHeight / 2)); 它回答了我的问题。

谢谢

1 个答案:

答案 0 :(得分:0)

这对我来说非常有用,感谢Brodie的一条评论。

$ target.offset()为您提供一个对象,其中包含$ target元素相对于屏幕左上角的位置(0,0)。如果你试图将元素居中对齐,你可能希望通过CSS来实现这一点。