Jquery没有被处理

时间:2017-01-12 18:11:36

标签: javascript jquery html

即使语法正确(通过在线语法检查程序检查)并且函数运行(使用纯JS测试),下面的Jquery也不会在我的浏览器中运行。为什么会这样?

如果这个问题的答案相当简单,我会提前道歉但是在谷歌搜索15分钟后我无法得到答案。

JAVASCRIPT:

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>

3 个答案:

答案 0 :(得分:1)

$(document).ready(function(){
 //page is ready

  $("#overlay").on("click",function(){
    this.fadeOut(1000);
  });
  });

如果没有加载dom,则无法添加eventlistener。也不要忘记在执行上层脚本之前包含jquery ...

答案 1 :(得分:1)

我认为javascript代码位于.js文件“lightboxjs.js”中。你有没有在任何地方包含jQuery库?

如果不这样做,请先添加此行<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>,然后再添加自定义javascript文件。

答案 2 :(得分:0)

你在哪里调用jquery lib?您需要在lightboxjs.js上方加载jquery,并且还可以使用jquery语法来监听#overlay click事件。