Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数无法运行_Javascript_Html_Function_Variables_Onclick - Fatal编程技术网

Javascript函数无法运行

Javascript函数无法运行,javascript,html,function,variables,onclick,Javascript,Html,Function,Variables,Onclick,我被指示制作一个简单的游戏,在这个游戏中,点击图片可以增加你的分数,并最终允许升级。当我单击图像时,它会显示第一次剩余的单击次数,但是,后续时间似乎不起作用。这是我的函数如何相互调用的问题吗 Javascript //Variables var clicks = 0; var level = 2; var clickInterval = 1; var holdClick = 0; function imgClicked() { //Activated by clicking on image

我被指示制作一个简单的游戏,在这个游戏中,点击图片可以增加你的分数,并最终允许升级。当我单击图像时,它会显示第一次剩余的单击次数,但是,后续时间似乎不起作用。这是我的函数如何相互调用的问题吗

Javascript

//Variables
var clicks = 0;
var level = 2;
var clickInterval = 1;
var holdClick = 0;

function imgClicked() { //Activated by clicking on image
    var clicks = clicks + clickInterval; //Increasing clicks
    upgradeCheck();
    if (holdClick === 1) { //If holding down the image activated
        window.onmousedown = holding();
    }
}

function upgradeCheck() { //Check if eligible for new level
    if (clicks > Math.pow(level, 2)) { //If clicks more than current level^2
        level = level + 1; //Next level
        upgrade();

    } else { //If not
        var clicksLeft = Math.pow(level, 2) - clicks; //Determine clicks until eligible
        document.getElementById("toUpgrade").innerHTML = clicksLeft + " clicks left until upgrade"; //Display
    }
}

function upgrade() { //Upgrading
    document.getElementById("clickImg").src = "level" + level + ".png"; //Change to new level
    var clickInterval = clickInterval * 2; //Increase points per click
    if (Math.pow(level, 2) / clickInterval > 400) { //If it take more than 400 clicks to get to next level
        var holdClick = 1; //Activate hold clicking
        document.getElementById("message").innerHTML = "You can now hold down the image";
    }
}

function holding() {
    var clicks = clicks + clickInterval; //Adding more clicks
}
HTML

<p id="toUpgrade"></p>
<img id="clickImg" src="level2.png" onclick="imgClicked()" />
<p> id="message"></p>

id=“message”>


我不认为这是在做你认为它在做的事情:

var clicks = clicks + clickInterval; //Adding more clicks
您不是在修改全局
clicks
变量,而是仅在该函数的范围内创建一个名为
clicks
的全新变量。然后,当函数完成时,该变量消失。实际上,您从未修改现有的
单击
变量。我想你想要这个:

clicks = clicks + clickInterval; //Adding more clicks
其他地方也犯了同样的错误,例如:

var clickInterval = clickInterval * 2; //Increase points per click
以及:


删除
var
关键字以防止声明新变量。

我不认为这是在做你认为它在做的事情:

var clicks = clicks + clickInterval; //Adding more clicks
您不是在修改全局
clicks
变量,而是仅在该函数的范围内创建一个名为
clicks
的全新变量。然后,当函数完成时,该变量消失。实际上,您从未修改现有的
单击
变量。我想你想要这个:

clicks = clicks + clickInterval; //Adding more clicks
其他地方也犯了同样的错误,例如:

var clickInterval = clickInterval * 2; //Increase points per click
以及:


删除
var
关键字以防止声明新变量。

我不认为这是在做你认为它在做的事情:

var clicks = clicks + clickInterval; //Adding more clicks
您不是在修改全局
clicks
变量,而是仅在该函数的范围内创建一个名为
clicks
的全新变量。然后,当函数完成时,该变量消失。实际上,您从未修改现有的
单击
变量。我想你想要这个:

clicks = clicks + clickInterval; //Adding more clicks
其他地方也犯了同样的错误,例如:

var clickInterval = clickInterval * 2; //Increase points per click
以及:


删除
var
关键字以防止声明新变量。

我不认为这是在做你认为它在做的事情:

var clicks = clicks + clickInterval; //Adding more clicks
您不是在修改全局
clicks
变量,而是仅在该函数的范围内创建一个名为
clicks
的全新变量。然后,当函数完成时,该变量消失。实际上,您从未修改现有的
单击
变量。我想你想要这个:

clicks = clicks + clickInterval; //Adding more clicks
其他地方也犯了同样的错误,例如:

var clickInterval = clickInterval * 2; //Increase points per click
以及:


删除
var
关键字以防止声明新变量。

控制台中是否有错误?控制台中是否有错误?控制台中是否有错误?控制台中是否有错误?