计数按键并以HTML显示

时间:2018-12-18 22:20:22

标签: javascript html counter keypress onkeypress

我用HTML和Javascript制作了一个简单的“空格键模拟器”游戏。每次用户按下空格键时,图像将被替换为另一图像,并且在释放键时会将其重置为原始图像。

我想在页面上添加一个计数器,以计算用户按下空格键的次数。源代码如下:

int main()
{
     int arr[]={1,2,3};
     int (&a)[3]=arr;//aliasing
     int* b=arr;// shallow copy
     int c[3];//deep copy
     int i;
     for(i=0;i<3;i++)
            c[i]=arr[i];
 }
var myRealUrl = "./assets/spacebar.png";
$("body").on("keydown", function (e) {
  if(e.which == 32){   
    $("#spacebar").attr("src", "./assets/spacebar_pressed.png")
  }
});

$("body").keyup(function (e) {
    $("#spacebar").attr("src", myRealUrl)
});

var button = document.getElementById('counter'),
  count = 0;
button.onclick = function() {
  count += 1;
  button.innerHTML = "Click me: " + count;
};

1 个答案:

答案 0 :(得分:0)

因此,设置页面级变量并在keydown事件处理程序中对其进行递增。

您尝试“按钮”点击代码没有用,因为需要点击的p元素内部没有内容,因此该元素未在屏幕上呈现,因此没有任何内容点击。

另外,您不能有多个元素具有相同的id,并且将p放在span内是无效的。

var counter = 0;  // Variable to hold the count
var myRealUrl = "./assets/spacebar.png";
var count = document.getElementById('counter');
$("body").on("keydown", function (e) {
  if(e.which == 32){   
    counter++; // Increment the counter
    $("#spacebar").attr("src", "./assets/spacebar_pressed.png");
    count.textContent = counter; // Log the count
  }
});

$("body").keyup(function (e) {
    $("#spacebar").attr("src", myRealUrl)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="sv">

<head>
    <meta charset="utf-8">
    <title></title>
    <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400" rel="stylesheet">
    <link rel="stylesheet" href="css/stylesheet.css">
    <script src="js/jquery-3.2.1.min.js"></script>

</head>

<body>
    <div class="container">
        <div class="title">
            <h1>Spacebar Simulator 2018</h1>
        </div>
        <img src="assets/spacebar.png" id="spacebar">
		<p>Pressed <span id="counter">0</span> times.</p>

        <footer>
            <p>&copy; 2018</p>
        </footer>
    </div>
    <script src="js/spacebar.js"></script>
</body>

</html>