gpt4 book ai didi

javascript - 如何使用 jQuery 设置滚动位置?

转载 作者:行者123 更新时间:2023-11-28 15:28:58 24 4
gpt4 key购买 nike

我找到了解决我遇到的类似问题的方法 HERE.但是我无法让它为自己工作。我遇到的问题是在我正在处理的网站上打开移动菜单时尝试锁定垂直滚动。每次打开菜单时,锁定滚动条都会导致页面跳转到顶部。

jQuery:

timber.openDrawerMenu = function () {
var tempScrollTop = $(window).scrollTop();
var $mobileMenu = $('.nav-bar'),
$mobileMenuButton = $('#menu-opener'),
$body = $('body');
$mobileMenuButton.addClass('opened');
$mobileMenu.addClass('opened');
$body.addClass('opened-drawer');

// Make drawer a11y accessible
timber.cache.$navBar.attr('aria-hidden', 'false');

// Set focus on drawer
timber.trapFocus({
$container: timber.cache.$navBar,
namespace: 'drawer_focus'
});

// Escape key closes menu
timber.cache.$html.on('keyup.drawerMenu', function(evt) {
if (evt.keyCode == 27) {
timber.closeDrawerMenu();
}
});
console.log(tempScrollTop);
$(window).scrollTop(tempScrollTop);
}

我添加了 console.log() 语句以查看脚本是否正在捕获正确的 scrollTop 值,事实上它是。出于某种原因,它没有设置滚动位置,但我无法弄清楚为什么。非常感谢此处的任何帮助。

最佳答案

我看到这是一个特定于移动设备的问题。

  1. 我有 1 个想法:
    • 尝试在 body 标签上显式设置 position: relative
  2. 如果那行不通,我有一个更古怪的想法:
    • 尝试在关闭菜单之前明确重置滚动位置。

希望这些有用,如果没有,请发表评论:)

关于javascript - 如何使用 jQuery 设置滚动位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44913288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com