Javascript scrollIntoView无法在Chrome上使用scrollLeft
我正在使用Javascript scrollIntoView无法在Chrome上使用scrollLeft,javascript,html,reactjs,scroll,addeventlistener,Javascript,Html,Reactjs,Scroll,Addeventlistener,我正在使用scrollIntoView滚动到我网站的特定部分。 然而,在其中一个部分中,我使用了一个scroll事件侦听器,通过设置元素的scrollLeft创建视差效果,在页面垂直滚动时水平滚动内容 滚动侦听器 document.addEventListener('scroll', (event) => { // ... const elem = document.getElementById('experienceContainer'); elem.scrollLeft =
scrollIntoView
滚动到我网站的特定部分。
然而,在其中一个部分中,我使用了一个scroll
事件侦听器,通过设置元素的scrollLeft
创建视差效果,在页面垂直滚动时水平滚动内容
滚动侦听器
document.addEventListener('scroll', (event) => {
// ...
const elem = document.getElementById('experienceContainer');
elem.scrollLeft = leftValue;
});
按钮滚动至章节
<button onClick={() => {
const doc = document.getElementById('bottom');
doc.scrollIntoView({ behavior: 'smooth' });
}}>
Scroll to bottom
</button>
{
const doc=document.getElementById('bottom');
scrollIntoView({behavior:'smooth'});
}}>
滚动到底部
这在移动和桌面浏览器上运行良好。它可以滚动到底部,视差效果正在发挥作用。但由于某些原因,它在桌面Chrome上不起作用
有人知道为什么吗?这真的是你的HTML吗?为什么你的HTML中有JavaScript呢?我忘了提那是jsx。我用的是react JS。谢谢,您是否尝试手动触发滚动事件?确实存在错误。只有平滑滚动的框才会被其他调用取消以执行滚动,Chrome会对任何框执行此操作。现在,运行一个快速平分,我发现这一行为尽快V62(也许甚至在以前),所以我怀疑他们会考虑它的高优先级,即使我们打开一个问题。但更重要的是,对于这个问题,我想你需要的是一个变通方法,而不仅仅是一个“是的,有一个bug”的答案。为此,我们需要更多关于你到底在做什么的信息。