Javascript Jquery未被处理
即使语法正确(通过联机语法检查器检查),并且函数确实运行(使用纯JS测试),下面的Jquery也不会在我的浏览器中运行。为什么会这样 如果这个问题的答案很简单,但在谷歌搜索了15分钟后,我无法找到答案,我提前表示歉意 JAVASCRIPT:Javascript Jquery未被处理,javascript,jquery,html,Javascript,Jquery,Html,即使语法正确(通过联机语法检查器检查),并且函数确实运行(使用纯JS测试),下面的Jquery也不会在我的浏览器中运行。为什么会这样 如果这个问题的答案很简单,但在谷歌搜索了15分钟后,我无法找到答案,我提前表示歉意 JAVASCRIPT: document.getElementById('overlay').addEventListener('click', function( { closeLightBox() }); function closeLightBox() {
document.getElementById('overlay').addEventListener('click', function( {
closeLightBox()
});
function closeLightBox() {
$("#overlay").fadeOut(1000);
}
function lightbox(x) {
}
HTML
<!DOCTYPE html>
<html>
<head>
<title> Lightbox </title>
<link rel="stylesheet" type="text/css" href="lightboxcss.css">
</head>
<body>
<div id = "overlay"> </div>
<img src="batman.jpg" alt="" href="javascript:void(0)" onclick="lightbox(1)" id="batman" style="height:100px;width:160px;margin-left:45%;margin-top:16%;">
<br><br><br><br>
<p> RANDOM TEXT STUFF </p><br><br>
<p> 328ueekfuuirgh40t43h8hohro8ht </p>
<script src="lightboxjs.js"> </script>
</body>
</html>
灯箱
随机文本内容
328ueekfuuirgh40t43h8hohro8ht
如果未加载dom,则无法添加eventlistener。另外,在执行上层脚本之前,不要忘记包含jquery
我假设javascript代码位于您的.js文件“lightboxjs.js”中。您是否在任何地方包含jQuery库
如果没有,请先添加这一行,然后再添加自定义javascript文件 您在哪里调用jquery库?您需要在lightboxjs.js上方加载jquery,也可以使用jquery语法来监听#overlay click事件。HTML中没有指向jquery的链接。如果没有链接到库,jQuery函数将不会执行任何操作。当您尝试添加事件侦听器时,这一点并不清楚——如果在HTML呈现之前,它将无法工作。如果已经使用jQuery,为什么不将其用于事件处理程序呢?您提到的脚本会在提到my.js文件的脚本标记正确之前放入.html文件中?您必须按照依赖关系的顺序对js文件进行排序。因此,如果您使用的代码依赖于jquery,那么应该首先加载jquery,否则它将无法工作。@Nahmed39!在加载DOM之前,它应该是
$(document).ready(function(){
//page is ready
$("#overlay").on("click",function(){
this.fadeOut(1000);
});
});