滚动时未触发JavaScript事件

滚动时未触发JavaScript事件,javascript,Javascript,我希望这不是一个重复的主题,因为我已经检查了多个问题,所以他们不适合我 我试图根据滚动位置使按钮可见/不可见,所以我创建了一个滚动事件侦听器来触发一个函数,该函数检查滚动位置,并基于此执行必要的操作。然而,我无法让听众开火 我检查了多份文件,并试图确保我所做的每件事都是相应的,但没有任何效果。我错过了什么 const showhidarrow=()=>{ //console.log(“func触发”); 常量箭头=document.getElementById(“滚动箭头”); if(doc

我希望这不是一个重复的主题,因为我已经检查了多个问题,所以他们不适合我

我试图根据滚动位置使按钮可见/不可见,所以我创建了一个滚动事件侦听器来触发一个函数,该函数检查滚动位置,并基于此执行必要的操作。然而,我无法让听众开火

我检查了多份文件,并试图确保我所做的每件事都是相应的,但没有任何效果。我错过了什么

const showhidarrow=()=>{
//console.log(“func触发”);
常量箭头=document.getElementById(“滚动箭头”);
if(document.body.scrollTop>20 | | document.documentElement.scrollTop>20){
arrow.style.display=“无”;
}否则{
arrow.style.display=“块”;
}
}
window.addEventListener(“滚动”,showHiderRow)
部分{
最大高度:100vh;
高度:100vh;
宽度:90vw;
保证金:0自动;
显示器:flex;
弯曲方向:立柱;
}
.滚动箭头{
保证金:自动5rem自动;
文本对齐:居中;
垫底:5px;
}

试验
测试

问题似乎来自这一行:

html,正文{
溢出x:隐藏;
}

我不知道这是为什么以及如何阻止事件侦听器启动的,但它现在似乎正在工作。我必须找到其他东西来隐藏滚动条

你能在这里创建一个工作来重现这个问题吗?这将有助于解决您的问题。我刚刚做了,但奇怪的是,它正在编写代码片段。我复制并粘贴了我代码中的所有内容,嗯,好吧,似乎缺少了一些东西,你把脚本放在哪里了?它在页眉里吗?您确定HTML初始化后运行的代码是可用的吗?请确保在window.load上运行js代码,因为它在代码段中工作,但在本地不工作。我尝试了所有这些,并确保延迟脚本,但它们不工作。我发现问题是CSS中的
overflow-x:hidden
行。请尝试将
overflow-x:hidden
仅保留在
主体
元素上,并将其从
html
元素中删除