js中scrollIntoView第一次不生效,第二次生效
scrollIntoView
方法用于将元素滚动到可视区域。如果在页面加载后立即使用,可能不会生效,因为页面可能还没有完全渲染或者加载完成。
如果是因为元素还没有完全渲染完成,可以在 requestAnimationFrame
中调用 scrollIntoView
。
requestAnimationFrame(() => {var element = document.getElementById('my-element');element.scrollIntoView({behavior: 'smooth',block: 'start'});
});
关键是确保在页面完全加载和渲染之后再调用 scrollIntoView
。