Javascript 为什么游戏计算0,5,4,3,2,1秒而不是5,4,3,2,1秒?

Javascript 为什么游戏计算0,5,4,3,2,1秒而不是5,4,3,2,1秒?,javascript,jquery,html,Javascript,Jquery,Html,当我在第一轮结束后开始我的Clickgame时,秒数是0,5,4,3,2,1,而不是5,4,3,2,1。有人知道代码中的错误是什么,需要修改什么吗?这就好像5是双倍的 我想知道的另一件事是,我如何添加一个函数(输入HTML)来添加一个弹出窗口,用户可以选择自己想要播放的秒数 设klick=0; display=document.querySelector(“#time”); $(“#开始”)。单击(函数(){//clickfunktion beim starten。 $(“#开始”).fade

当我在第一轮结束后开始我的Clickgame时,秒数是0,5,4,3,2,1,而不是5,4,3,2,1。有人知道代码中的错误是什么,需要修改什么吗?这就好像5是双倍的

我想知道的另一件事是,我如何添加一个函数(输入HTML)来添加一个弹出窗口,用户可以选择自己想要播放的秒数

设klick=0;
display=document.querySelector(“#time”);
$(“#开始”)。单击(函数(){//clickfunktion beim starten。
$(“#开始”).fadeOut();//开始按钮
$(“#欢迎”).fadeOut();//Das Willkommensschild geht weg
$(“#time”).fadeIn(900);//计时器
$(“#点击器”)。设置动画({
高度:“切换”
});//点击器与盖斯塔特
var dauer=5;
startTimer(dauer);//变量dauer是变量dauer,它的功能是格式塔。
})
功能启动器(dauer){
设定时器=5;
zeit=setInterval(函数(){
display.textContent=parseInt(计时器);//zeigt sekunden变量
--timer;//设置计时器immer einen herab
如果(计时器<0.00){
定时器=5;
控制台日志(计时器);
$(“#开始”).fadeIn();
$(“#欢迎”).fadeIn();
$(“#时间”).fadeOut();
$(“#clicker”).fadeOut();
$(“#clicker”).css(“利润率最高”、“10%”);
$(“#clicker”).css(“左边距”、“50%”);
警报(“索伯-杜-哈兹”+klick+“klicks in 5 Sekunden geschafft!”);
克利克=0
控制台日志(计时器);
clearInterval(zeit)
}//如果计时器为0,则所有计时器均为wieder angezeigt和die Interval函数
},1000);//zahl gibt an,是一个经常使用的函数,它支持wiederholt wird.Hier-eine-Sekunde(1000Millisekunden)
};
$(“#clicker”)。单击(函数(){
让zufall=Math.floor(Math.random()*40)-20//setzt-eine-zufällige höhe für den clicker
让zufal=Math.floor(Math.random()*45)//Zufällige变量für den Linkswert
klick=klick+1//setzt den zähler beim klicken eins hoch
如果(K单击%2==0){
$(“#点击器”)。设置动画({
不透明度:“0.3”,
左:zufall+“%”,
顶部:zufal+“%”
},“fast”);//bewegt den Klick Block auf eine zufällige Stelle
}否则{
$(“#点击器”)。设置动画({
不透明度:“1.0”,
左:zufall+“%”,
顶部:zufal+“%”
}“快速”)
}
});

威尔·科曼·祖·安塞雷姆·雷克通斯皮尔!我是贝雷特酒馆的,克里克·奥夫“开始”
开始
克利克

我想你的计数机制太复杂了。以下是您试图实现的目标的简化版本:

设c=0
document.getElementById('count')。addEventListener('click',function(){
C++
})
document.getElementById('timer')。addEventListener('click',function(){
让数字=5
let interval=setInterval(函数(){
document.getElementById('thenumber')。innerHTML=number
数--
如果(数字==-1){
警报('您单击:'+c)
c=0
清除间隔(间隔)
}
}, 1000)
})

克利克我

计数
我想你的计数机制太复杂了。以下是您试图实现的目标的简化版本:

设c=0
document.getElementById('count')。addEventListener('click',function(){
C++
})
document.getElementById('timer')。addEventListener('click',function(){
让数字=5
let interval=setInterval(函数(){
document.getElementById('thenumber')。innerHTML=number
数--
如果(数字==-1){
警报('您单击:'+c)
c=0
清除间隔(间隔)
}
}, 1000)
})

克利克我

正如user@Robin Zigmond建议的那样计算,因为您使用的是setInterval,所以每次运行间隔之前都要等待一秒钟

一个可能的解决方案是将代码包围在函数中,首先调用它,然后设置间隔

我在下面附上了一个工作解决方案:

设klick=0;
display=document.querySelector(“#time”);
$(“#开始”)。单击(函数(){//clickfunktion beim starten。
$(“#开始”).fadeOut();//开始按钮
$(“#欢迎”).fadeOut();//Das Willkommensschild geht weg
$(“#time”).fadeIn(900);//计时器
$(“#点击器”)。设置动画({
高度:“切换”
});//点击器与盖斯塔特
var dauer=5;
startTimer(dauer);//变量dauer是变量dauer,它的功能是格式塔。
})
功能启动器(dauer){
设定时器=5;
运行计时器();
zeit=setInterval(runTimer,1000);//zahl gibt an,wie oft die Function pro zeit wiederholt wird.Hier eine Sekunde(1000Millisekunden)
函数runTimer(){
display.textContent=parseInt(计时器);//zeigt sekunden变量
--timer;//设置计时器immer einen herab
如果(计时器<0.00){
定时器=5;
控制台日志(计时器);
$(“#开始”).fadeIn();
$(“#欢迎”).fadeIn();
$(“#时间”).fadeOut();
$(“#clicker”).fadeOut();
$(“#clicker”).css(“利润率最高”、“10%”);
$(“#clicker”).css(“左边距”、“50%”);
警报(“索伯-杜-哈兹”+klick+“klicks in 5 Sekunden geschafft!”);
克利克=0
控制台日志(计时器);
清除间隔(zeit);
}//如果计时器为0,则所有计时器均为wieder angezeigt和die Interval函数
}
};
$(“#clicker”)。单击(函数(){
让zufall=Math.floor(Math.random()*40)-20//setzt-eine-zufällige höhe für den clicker
让zufal=Math.floor(Math.random()*45)//Zufällige变量für den Linkswert
klick=klick+1//setzt den zähler beim klicken eins hoch
如果(K单击%2==0){
$(“#点击器”)。设置动画({
不透明度:“0.3”,
左:zufall+“%”,
顶部:zufal+“%”
},“fast”);//bewegt den Klick Block auf eine zufällige Stelle
}否则{
$(“#点击器”)。设置动画({
不透明度:“1.0”,
左:zufall+“%”,
顶部:zufal+“%”
}“快速”)
}
});

威尔·科曼·祖·安塞雷姆·雷克通斯皮尔!我是贝雷特酒馆的,克里克·奥夫“开始”
明星