Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-EventListener不';无法在外部js文件中工作_Javascript_Html_Inline_Addeventlistener - Fatal编程技术网

JavaScript-EventListener不';无法在外部js文件中工作

JavaScript-EventListener不';无法在外部js文件中工作,javascript,html,inline,addeventlistener,Javascript,Html,Inline,Addeventlistener,当我将javascript放入html文件页脚的脚本标记中时,一切正常。但是,当我链接到一个包含完全相同代码的外部脚本文件时,我的EventListener无法工作。在同一个外部脚本文件中,我还有其他代码可以正常工作。 知道我会犯什么错误吗 以下几行可以工作: 试验 //滚动动画 window.addEventListener('scroll',()=>{ const scrollable=document.documentElement.scrollHeight-window.innerH

当我将javascript放入html文件页脚的脚本标记中时,一切正常。但是,当我链接到一个包含完全相同代码的外部脚本文件时,我的EventListener无法工作。在同一个外部脚本文件中,我还有其他代码可以正常工作。 知道我会犯什么错误吗

以下几行可以工作:


试验
//滚动动画
window.addEventListener('scroll',()=>{
const scrollable=document.documentElement.scrollHeight-window.innerHeight;
const scrolled=window.scrollY;
常量滚动百分比=滚动/可滚动*100;
//滚动乐蒂消失动画
如果(滚动百分比>5){
document.getElementById(“滚动条”).style.opacity=“0”;
}
否则{
document.getElementById(“滚动条”).style.opacity=“1”;
}
});

我不确定是否是这样,但我想你必须在src之前就有了 或者是走错了路

<script type="text/javascript" src="path"></script>

尝试将javascript代码包装到可执行函数中:

(function() {

   // your code

 })();

因为您的网页没有任何高度,所以不会发生滚动,因此不会触发事件。 如果您将此添加到您的头部,那么您可以看到,如果您在滚动事件中包含console.log,则会发生这种情况


#卷轴乐蒂{
最低高度:200vh;
}

我的页面确实有一个高度。我只是没有把内容包括在这里。但是正如我所说,当我把javascript放在html文件中时,它工作得很好。你的文件结构是什么样的?当我测试你的代码时,它工作得很好。我已经解决了这个问题,但我仍然不明白问题是什么。我不能包含完整的HTML,因为它是一个私人网站,但我现在包含了完整的javascript。所以基本上我在同一个js文件中有两个不同html文件的js。现在我只是把不起作用的部分放在一个单独的js文件中,它就起作用了。因此,它与loadAnimation函数上方的javascript有关。你知道是什么吗?你确定滚动事件发生了吗?从您所显示的情况来看,如果屏幕上的内容大于视图高度,那么它应该可以正常工作。我唯一能想到的就是矛盾的js。我经常把我所有的js都放在同一个文件中,但是把它们包装在只在我需要它们运行的页面上被调用的函数周围。非常感谢!在函数中包装js并在我希望它们运行的页面上调用它是有效的。我能再问你一个问题吗?您似乎对使用stackoverflow很有经验。我昨天刚刚做了我的账目,这是我的第一个问题。有两个人投票认为我的问题没有用。这导致我在短时间内无法提问,并警告我的帐户可能被冻结。下次当我问问题时,我应该做得更好些什么?不幸的是,这并没有改变任何事情。此外,我在同一个外部脚本文件中还有其他代码可以正常工作。好吧,但应该是这样,因为您的代码工作正常,或者是文件中有问题。您可以添加文件内容吗?很遗憾,没有更改任何内容