如何使用SetTimeOut函数在javascript中平滑滚动

如何使用SetTimeOut函数在javascript中平滑滚动,javascript,html,css,Javascript,Html,Css,我使用了setTimeOut功能来平滑滚动 但是 我的功能无法正常工作。 它正在工作,但并不顺利 谁能帮帮我 const handleScroll = () => { const pageCards_div = document.getElementsByClassName('page-cards') for (let i = 0; i < 235; i++) { setTimeout(() => { pageCards_div[0].scrollLeft += 1

我使用了setTimeOut功能来平滑滚动

但是 我的功能无法正常工作。
它正在工作,但并不顺利
谁能帮帮我

const handleScroll = () => {
const pageCards_div = document.getElementsByClassName('page-cards')
for (let i = 0; i < 235; i++) {
  setTimeout(() => {
    pageCards_div[0].scrollLeft += 1
  }, 1000)
}
consthandlescroll=()=>{
const pageCards\u div=document.getElementsByClassName('page-cards'))
for(设i=0;i<235;i++){
设置超时(()=>{
pageCards_div[0]。向左滚动+=1
}, 1000)
}

}

Your
for
循环调度235个对动画函数的调用,这些调用将在1秒后开始,一个接一个地立即调用

如果你想迈出一步,等待1s,再迈出一步,再等待1s,等等-你可以这样做:

const handleScroll = () => {
const pageCards_div = document.getElementsByClassName('page-cards')

let func;
func = (remaining) => {
    if (remaining == 0) {
        return;
    }
    pageCards_div[0].scrollLeft += 1;

    setTimeout(() => {
        func(remaining - 1);
    }, 1000);
};

func(235);