如何计算HTML中图片的点击次数?

时间:2018-09-26 04:11:56

标签: javascript jquery

编写以下代码以获得所需的结果:

html文件:

<div class="container">
    <img id="myImg" class="img-fluid img-thumbnail" src="cat.jpg" alt="cat img">
</div>

JS文件:

$(function() {
    let i = 0;
    $('#myImg').click(function() {
        $(this).html(i++);
    });
});

但是,控制台显示如下错误:

 Uncaught ReferenceError: $ is not defined
at script.js:1

请您帮我解决这个问题,并向我解释为什么会发生这种情况。我怎么知道点击增量?

Click here用于我的作品的代码笔链接。

谢谢。

3 个答案:

答案 0 :(得分:1)

取消注释指向jquery文件(即<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>)的链接,并在jQuery文件后添加script.js。您收到错误消息,因为您的<script src="script.js"></script>在jquery之前。您所有使用jQuery的JavaScript都必须位于jQuery文件之后。

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link rel="stylesheet" href="style.css">
    <title>Click Cat | Sofia </title>
  </head>
  <body>

    
    <div class="container">
    <img id="myImg" class="img-fluid img-thumbnail" src="http://www.petsworld.in/blog/wp-content/uploads/2014/09/adorable-cat.jpg" alt="cat img">
    </div>

 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
       <!-- Optional JavaScript -->
    <script src="script.js"></script>
    <script>
       $(function(){
    let i=0;
     $('#myImg').click(function(){
        $(this).html(i++);
        console.log(i);
       });
     });
    </script>
  </body>
</html>

答案 1 :(得分:0)

您似乎在尝试在JavaScript代码中使用jQuery,但是您可能没有在HTML中正确包含jquery脚本文件。

您可以通过如下所示的cdn将其加载到文档的开头:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>

在包含jQuery脚本之后,您可能需要修改HTML以使其具有可容纳计数的元素(而不是img元素):

<div class="container">
    <span id="click-counter">0</span>
    <img id="myImg" class="img-fluid img-thumbnail" src="cat.jpg" alt="cat img">
</div>

然后调整您的js代码:

$(function() {
    let i = 0;
    $('#myImg').click(function() {
        i++;
        $('#click-counter').text(i);
    });
});

这是一个小提琴:

https://jsfiddle.net/2zxmhub4/1/

答案 2 :(得分:0)

$(document).ready(function(){
    var i = 1;
    $('#myImg').click(function(){
        alert(i++); // here you can use html or whatever you want.
    });
});

删除警报并使用您想要的任何内容