diff --git a/components/Footer.js b/components/Footer.js index cf2e1d83..f6ef5442 100644 --- a/components/Footer.js +++ b/components/Footer.js @@ -10,6 +10,7 @@ const Footer = ({ fullWidth = true }) => { {` ${y}`} tangly1024.com. Powered by Notion & Vercel.
闽ICP备20010331号 + 隐私政策 { const scrollS = window.scrollY - const nav = document.querySelector('#sticky-nav') - const sidebar = document.querySelector('#sidebar') - const tagsBar = document.querySelector('#tags-bar') - const rightToc = document.querySelector('#right-toc') if (scrollS >= windowTop && scrollS > 10) { - nav && nav.classList.replace('top-0', '-top-16') - tagsBar && tagsBar.classList.replace('top-16', 'top-0') - sidebar && sidebar.classList.replace('top-20', 'top-2') - rightToc && rightToc.classList.replace('top-16', 'top-0') + hiddenNav() windowTop = scrollS } else { - nav && nav.classList.replace('-top-16', 'top-0') - tagsBar && tagsBar.classList.replace('top-0', 'top-16') - sidebar && sidebar.classList.replace('top-2', 'top-20') - rightToc && rightToc.classList.replace('top-0', 'top-16') + showNav() windowTop = scrollS } }, 200)) @@ -35,6 +25,7 @@ const BaseLayout = ({ children, layout, fullWidth, tags, meta, post, ...customMe // 监听滚动 useEffect(() => { window.addEventListener('scroll', scrollTrigger) + scrollTrigger() return () => { window.removeEventListener('scroll', scrollTrigger) } @@ -62,6 +53,38 @@ const BaseLayout = ({ children, layout, fullWidth, tags, meta, post, ...customMe ) } +/** + * 隐藏导航 + */ +const hiddenNav = () => { + if (document) { + const nav = document.querySelector('#sticky-nav') + const sidebar = document.querySelector('#sidebar') + const tagsBar = document.querySelector('#tags-bar') + const rightToc = document.querySelector('#right-toc') + nav && nav.classList.replace('top-0', '-top-16') + tagsBar && tagsBar.classList.replace('top-16', 'top-0') + sidebar && sidebar.classList.replace('top-20', 'top-2') + rightToc && rightToc.classList.replace('top-16', 'top-0') + } +} + +/** + * 显示导航 + */ +const showNav = () => { + if (document) { + const nav = document.querySelector('#sticky-nav') + const sidebar = document.querySelector('#sidebar') + const tagsBar = document.querySelector('#tags-bar') + const rightToc = document.querySelector('#right-toc') + nav && nav.classList.replace('-top-16', 'top-0') + tagsBar && tagsBar.classList.replace('top-0', 'top-16') + sidebar && sidebar.classList.replace('top-2', 'top-20') + rightToc && rightToc.classList.replace('top-0', 'top-16') + } +} + BaseLayout.propTypes = { children: PropTypes.node } diff --git a/pages/article/[slug].js b/pages/article/[slug].js index 392c6ca8..c9edda52 100644 --- a/pages/article/[slug].js +++ b/pages/article/[slug].js @@ -141,7 +141,7 @@ const BlogPost = ({ post, blockMap, tags, prev, next }) => { {/* 右侧目录 */} -