我有一个非画布菜单,从右侧滑入并位于页面顶部。为了防止滚动条,我在菜单打开时将内容部分的位置设置为固定。问题是,当我关闭菜单时页面上的滚动位置丢失,用户将返回到页面顶部。
我正在尝试存储页面的滚动位置,然后在窗口关闭时设置滚动,但它不起作用。如果我调试代码,我可以看到scrollTop()按预期运行,但它进入jQuery.js脚本,并在几次函数调用后,它将滚动重置到页面顶部。
我做错了什么?
var scrollPos;
function openMenu() {
$('body').addClass('open');
}
function closeMenu(compat) {
$('body').removeClass('open');
}
/*** Event Handlers ***/
$('#js-menu-toggle').on('click', function() {
scrollPos = $(window).scrollTop();
openMenu();
});
$('#js-menu-close').on('click', function() {
closeMenu();
$(window).scrollTop(scrollPos);
});
答案 0 :(得分:0)
我很抱歉没有提供足够的MCVE。
事实证明,问题是事件被<a>
链接到&#34;#&#34; href,所以加入
return false;
因为.on事件的最后一行解决了我的问题。