-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【优化】页面切换时记录菜单栏滚动条位置 #13
Labels
enhancement
New feature or request
Comments
@lisniuse 已修复。参见 commit 10adfd0a7215da,请复核。 |
sorry,这是我代码的问题。我监听了菜单栏所有 a 标签的点击事件,并且阻止了默认行为,导致菜单无法收缩。 左侧菜单的父级菜单本身也可以拥有链接,自身拥有链接的父级菜单无法折叠,没有链接的父级菜单才可以折叠。(numpy中文网是这么整的) 需求是页面切换左边菜单栏保持位置不变,光靠记录滚动条貌似无法实现这一点。切换页面时,原本已折叠的页面又会自动展开。 先把监听菜单滚动条那部分代码删掉吧。就只有 main.js 最后两个监听函数。 $('.tea-menu').find('a').on('click', function (e) {
e.preventDefault()
const scrollTop = $('.tea-menu').scrollTop()
localStorage.setItem('menuScrollTop', scrollTop)
const url = e.currentTarget.href
window.location.href = url
})
$('.tea-menu').ready(function(){
scrollTop = localStorage.getItem('menuScrollTop') || 0
$('.tea-menu').animate({ scrollTop: scrollTop }, 500)
}); |
@lisniuse 可以考虑做成局部刷新,这样左边菜单栏就可以记住状态了。
不知道有没有说明白,语言表达的太匮乏了~~ |
如果不好实现的话,先舍弃这个功能。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
描述
每次从左边的菜单点击章节跳转之后,左边的菜单栏会自动跳转到顶部去,希望可以优化成下一个页面会记录上一次菜单的滚动条位置。
方案
部署到 web 服务器上的都是一个个 html 页面,每次点击菜单栏切换页面,页面都会重新加载,导致菜单栏滚动条会复位到最初位置。
监听菜单栏滚动事件,将滚动条的位置记录到 localStorage 中,当页面切换时,优先从 localStorage 中拿滚动条位置值,通过 scrollTop() 设置滚动条的位置。
The text was updated successfully, but these errors were encountered: