window.scrollTo有回调函数吗?

8 浏览
0 Comments

window.scrollTo有回调函数吗?

在窗口滚动后,我想在输入框上调用focus()方法。我正在使用scrollTo()方法的平滑滚动行为。问题是focus方法会打断平滑滚动的行为。解决办法是在滚动结束后立即调用focus函数。

但是我找不到任何关于如何检测scrollTo方法结束的文档或线程。

let el = document.getElementById('input')
let elScrollOffset = el.getBoundingClientRect().top
let scrollOffset = window.pageYOffset || document.documentElement.scrollTop
let padding = 12
window.scrollTo({
  top: elScrollOffset + scrollOffset - padding,
  behavior: 'smooth'
})
// 等待滚动结束,然后
el.focus()

有任何想法吗?

0