-3

我有这段代码:

<head>
<script>
    function myFunction()
    {
        var counter = 1;
        document.getElementById("demo").innerHTML=counter;
    }
</script>
</head>
<html>
<body>
<button onclick="myFunction()">Count</button>
<p id="demo"></p>
</body>

每次按下带有“myFunction”按钮的按钮时,我都希望“计数器”变量加 1。

我已经尝试了几个没用的东西,但现在代码打印出“1”,无论按钮明显按下多少次。如果按下按钮,我怎样才能使它加 1?

4

2 回答 2

6

您需要var counter在函数之外设置:

var counter = 0;
function myFunction() {
    counter++;
    document.getElementById('demo').innerHTML = counter;
}

基本上,您的函数所做的是每次将 counter 的值设置为 1,而不是像您希望的那样递增它。

于 2013-03-20T16:38:34.650 回答
0

您的问题是每次调用函数时都会重新定义计数器。尝试

var counter = 1;
函数 myFunction()
{
计数器=计数器+1;
document.getElementById("demo").innerHTML=counter;


不是你当前的 javascript 代码

于 2013-03-20T16:40:56.840 回答