Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 - Fatal编程技术网

单击Javascript中的计数器实现

单击Javascript中的计数器实现,javascript,Javascript,我在Javascript中实现点击计数器时遇到一些问题。我已经在谷歌上搜索过了,但我无法找出代码中的错误 在下面的笔中,我使用猜测变量作为计数器。似乎每次单击submit时,我的猜测变量都会重置为零 我还在这里粘贴代码片段: //让targetNumber=Math.floor(Math.random()*10)+1; 设targetNumber=6; var猜测=0; 函数init(){ var button=document.getElementsByTagName(“按钮”)[0];

我在Javascript中实现点击计数器时遇到一些问题。我已经在谷歌上搜索过了,但我无法找出代码中的错误

在下面的笔中,我使用
猜测
变量作为计数器。似乎每次单击submit时,我的
猜测变量都会重置为零

我还在这里粘贴代码片段:

//让targetNumber=Math.floor(Math.random()*10)+1;
设targetNumber=6;
var猜测=0;
函数init(){
var button=document.getElementsByTagName(“按钮”)[0];
addEventListener(“单击”,函数(){
var guess=document.getElementsByName(“数字”)[0][“值”];
猜测+=1;
guess=parseInt(guess);
检查(猜测);
});
}
功能检查(值){
如果(猜测<5){
如果(值===targetNumber){
showWin();
}否则{
淋浴器();
}
}否则{
showLoss();
}
}
函数showWin(){
var p=document.createElement(“p”);
var t=document.createTextNode(“您赢了!”);
p、 儿童(t);
文件.正文.附件(p);
//document.getElementsByTagName(“p”)[0].innerHTML=“你赢了!”;
document.getElementsByTagName(“表单”)[0].style.display=“无”;
}
函数名为ror(){
var p=document.createElement(“p”);
var t=document.createTextNode(“猜错了!再试一次”);
p、 儿童(t);
文件.正文.附件(p);
}
函数showLoss(){
var p=document.createElement(“p”);
var t=document.createTextNode(“您丢失了!”);
p、 儿童(t);
文件.正文.附件(p);
document.getElementsByTagName(“表单”)[0].style.display=“无”;
}
init()
猜一个介于1和10之间的数字

提交
在您的代码笔中,表单正在提交,导致页面重新加载。因此,您总是重新开始,每次都将Guess变量重置为0


防止这种情况的最简单方法是将
type=“button”
添加到
button
元素中,以防止其自动提交表单。默认情况下,按钮类型为“提交”,这使他们提交包含表单(如果有)。

您需要停止表单提交-您可以通过将事件传递回函数,然后使用内置的
preventDefault()
函数来完成此操作

请参阅下面的代码-我已在已更改的行中添加了注释

//让targetNumber=Math.floor(Math.random()*10)+1;
设targetNumber=6;
var猜测=0;
函数init(){
var button=document.getElementsByTagName(“按钮”)[0];
addEventListener(“单击”,函数(e){//将事件传递回此处
e、 preventDefault();//阻止正在提交的按钮停止窗体的默认操作
var guess=document.getElementsByName(“数字”)[0][“值”];
猜测+=1;
guess=parseInt(guess);
检查(猜测);
});
}
功能检查(值){
如果(猜测<5){
如果(值===targetNumber){
showWin();
}否则{
淋浴器();
}
}否则{
showLoss();
}
}
函数showWin(){
var p=document.createElement(“p”);
var t=document.createTextNode(“您赢了!”);
p、 儿童(t);
文件.正文.附件(p);
//document.getElementsByTagName(“p”)[0].innerHTML=“你赢了!”;
document.getElementsByTagName(“表单”)[0].style.display=“无”;
}
函数名为ror(){
var p=document.createElement(“p”);
var t=document.createTextNode(“猜错了!再试一次”);
p、 儿童(t);
文件.正文.附件(p);
}
函数showLoss(){
var p=document.createElement(“p”);
var t=document.createTextNode(“您丢失了!”);
p、 儿童(t);
文件.正文.附件(p);
document.getElementsByTagName(“表单”)[0].style.display=“无”;
}
init()
猜一个介于1和10之间的数字

提交
谢谢你,皮特@HaukurHaf,你的回答也起作用了。我之所以接受这个答案,是因为它向我介绍了一个新函数,它提供了一个有用的功能(我是初学者)。