我有一个页面根据选择的菜单项滚动到一个点。当页面滚动时,菜单保留在页面中。问题是固定菜单悬停在我需要用户看到的部分部分上。
我正在让jquery获取菜单的高度并从scrollTop位置进行子记录。但是,第一次点击时不会应用高度,只会在第一次点击后点击。
因此,如果scrollTop位置为1442并且菜单为42高,则首先滚动到1442.如果我再次单击它将转到1400.它应该在第一次单击时执行此计算(1442-42)。我检查了每次存储hight的变量,但只在第一次点击后才应用:
$('#page-nav li').click(function(){
var selectedPageMenu = $(this).index();
var pageMenuHeight = $('#page-nav').height();
var topPos = $('.about-section:eq('+selectedPageMenu+')').position().top - pageMenuHeight;
$('body').stop().animate({scrollTop: topPos},1000);
});