Javascript 我需要同步侧边栏滚动和页面滚动,以便当页面滚动时,侧边栏滚动

Javascript 我需要同步侧边栏滚动和页面滚动,以便当页面滚动时,侧边栏滚动,javascript,scroll,Javascript,Scroll,我需要同步侧边栏滚动与页面滚动,以便当页面滚动时,侧边栏滚动 棘手的是,页面内容和侧边栏内容的高度可能不同,但侧边栏通常较短,因此我需要根据它们的高度计算滚动速度,但我不知道如何做到这一点。目标是“平滑”侧边栏滚动,以便当页面一直向下滚动时,滚动条一直向下滚动 我的代码在这里 HTML CSS 主要内容 。。。内容 边栏 …内容 做一个比率。类似于sidebar.scrollTop=sidebar.height*content.scrollTop/content.height(psudo代码)

我需要同步侧边栏滚动与页面滚动,以便当页面滚动时,侧边栏滚动

棘手的是,页面内容和侧边栏内容的高度可能不同,但侧边栏通常较短,因此我需要根据它们的高度计算滚动速度,但我不知道如何做到这一点。目标是“平滑”侧边栏滚动,以便当页面一直向下滚动时,滚动条一直向下滚动

我的代码在这里

HTML

CSS


主要内容
。。。内容

边栏 …内容


做一个比率。类似于
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>