【发布时间】:2012-06-09 00:55:21
【问题描述】:
我有一个在页面顶部使用固定菜单的网站。
点击链接时,它应该垂直滚动,以便目标 div 的中心与窗口的垂直中心对齐,偏移标题的高度。 - 这一点非常重要,这样无论显示器的分辨率如何,div 都会居中
我正在使用 jQuery 和 scrollTo,但无法计算出所需的数学运算。
这是我的尝试:
function scrollTo(target) {
var offset;
var scrollSpeed = 600;
if (viewport()["width"] > 767 && !jQuery.browser.mobile) {
// Offset anchor location and offset navigation bar if navigation is fixed
offset = $(target).offset().top - document.getElementById('navigation').clientHeight;
} else {
// Offset anchor location only since navigation bar is now static
offset = $(target).offset().top;
}
$('html, body').animate({scrollTop:offset}, scrollSpeed);
}
【问题讨论】:
-
我认为你应该将滚动到的 div 对齐到窗口的顶部,如果你有一个高度大于浏览器窗口的 div,它的顶部就赢了不要被切断。除非你确定所有的 div 都是
-
如果您也可以在 jsfiddle.net 中发布您的标记的现场演示以进行测试,那就太好了。
标签: javascript jquery html scroll center