我有一个在页面顶部使用固定菜单的网站。
单击链接时,它应该垂直滚动,以便该目标 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);
}