Javascript 我需要同步侧边栏滚动和页面滚动,以便当页面滚动时,侧边栏滚动
我需要同步侧边栏滚动与页面滚动,以便当页面滚动时,侧边栏滚动 棘手的是,页面内容和侧边栏内容的高度可能不同,但侧边栏通常较短,因此我需要根据它们的高度计算滚动速度,但我不知道如何做到这一点。目标是“平滑”侧边栏滚动,以便当页面一直向下滚动时,滚动条一直向下滚动 我的代码在这里 HTML CSSJavascript 我需要同步侧边栏滚动和页面滚动,以便当页面滚动时,侧边栏滚动,javascript,scroll,Javascript,Scroll,我需要同步侧边栏滚动与页面滚动,以便当页面滚动时,侧边栏滚动 棘手的是,页面内容和侧边栏内容的高度可能不同,但侧边栏通常较短,因此我需要根据它们的高度计算滚动速度,但我不知道如何做到这一点。目标是“平滑”侧边栏滚动,以便当页面一直向下滚动时,滚动条一直向下滚动 我的代码在这里 HTML CSS 主要内容 。。。内容 边栏 …内容 做一个比率。类似于sidebar.scrollTop=sidebar.height*content.scrollTop/content.height(psudo代码)
主要内容
。。。内容
边栏
…内容
做一个比率。类似于sidebar.scrollTop=sidebar.height*content.scrollTop/content.height
(psudo代码)的内容将在scroll上调用。
let sidebar = document.querySelector('#sidebar');
let wrapper = document.querySelector('#wrapper');
let lastS = 0;
let thisS = 0;
wrapper.addEventListener('scroll', function() {
lastS = thisS;
thisS = this.scrollTop;
sidebar.scrollTop += (thisS - lastS) - 1;
console.log("SIDEBAR: ", sidebar.scrollTop, "WRAPPER: ", wrapper.scrollTop);
}, false);
<div id="wrapper">
<div id="content">
<h3>Main content</h3>
<p>... CONTENT...</p>
</div>
</div>
<div id="sidebar">
<h3>Sidebar</h3>
<p>...CONTENT...</p>
</div>