stackoverflow的大家好,
我遇到了一个问题,控制台无法像我希望的那样打印出“ geschafft”。 我想建立一个网站,在这里它很重要,您键入数字的速度如何,所以我需要检查用户键入的数字是否等于给定的数字。无效的代码是:
var gedrueckt = "";
var zahl = "";
var spielerZahl = '';
//erzeugen der Zufallszahl
var min = 0;
var max = 9;
var zahl = Math.round(Math.random() * (max - min)) + min;
console.log(zahl);
//Zahl in HTML ausgeben
document.getElementById("zutippen").innerHTML = zahl;
//Erkennung der Taste
window.addEventListener("keydown", TasteGedrueckt,);
function TasteGedrueckt (evt) {
gedrueckt = evt.key;
if (gedrueckt == 1){
spielerZahl = 1;
}
else if (gedrueckt == 2){
spielerZahl = 2;
}
else if (gedrueckt == 3){
spielerZahl = 3;
}
else if (gedrueckt == 4){
spielerZahl = 4;
}
else if (gedrueckt == 5){
spielerZahl = 5;
}
else if (gedrueckt == 6){
spielerZahl = 6;
}
else if (gedrueckt == 7){
spielerZahl = 7;
}
else if (gedrueckt == 8){
spielerZahl = 8;
}
else if (gedrueckt == 9){
spielerZahl = 9;
}
else if (gedrueckt == 0){
spielerZahl = 0;
}
console.log(spielerZahl);
}
//Überprüfung ob zahl gleich
if (zahl == spielerZahl){
console.log("geschafft!");
}
对不起,我的英语不好,我希望有人能帮助我。 Google搜索了三天,还尝试了parseInt,但似乎没有任何效果。
答案 0 :(得分:2)
您需要在用户按下按键后进行检查,因此检查必须由事件侦听器调用。
您也可以通过执行+evt.key === zahl
或evt.key == zahl
来检查密钥是否相同。
var min = 0;
var max = 9;
var zahl = Math.round(Math.random() * (max - min)) + min;
console.log(zahl);
document.getElementById("zutippen").innerHTML = zahl;
window.addEventListener("keydown", TasteGedrueckt);
function TasteGedrueckt(evt) {
if (+evt.key === zahl) {
console.log("geschafft!");
}
}
<div id="zutippen"></div>
我认为您最终会希望它可以用于1个以上的项目,在这种情况下,您可以这样做:
var min = 0;
var max = 9;
var zahl;
window.addEventListener("keydown", TasteGedrueckt);
nextNumber();
function TasteGedrueckt(evt) {
if (+evt.key === zahl) {
console.log("geschafft!");
nextNumber();
}
}
function nextNumber() {
zahl = Math.round(Math.random() * (max - min)) + min;
console.log(zahl);
document.getElementById("zutippen").innerHTML = zahl;
}
<div id="zutippen"></div>
答案 1 :(得分:1)
var gedrueckt = "";
var spielerZahl = '';
//erzeugen der Zufallszahl
var min = 0;
var max = 9;
var zahl = Math.round(Math.random() * (max - min)) + min;
function TasteGedrueckt (evt) {
console.log('spielerZahl: ' + evt.key);
//Überprüfung ob zahl gleich
if(evt.key == zahl) {
console.log("geschafft!");
}
}
//Zahl in HTML ausgeben
document.getElementById("zutippen").innerHTML = 'Gesuchte Zahl: ' + zahl;
window.addEventListener("keydown", TasteGedrueckt);
<div id="zutippen"></div>