当我碰到空格时,我的代码应该在计数器上加1,然后更改放大镜以使另一个方向倾斜。当我撞到太空时,它什么也没做。
我已经解决了我看到的每个问题,但没有任何效果。也许其他人知道,我真的不太擅长js。
var hits = 0;
var hitElement = document.querySelector( '.hits' );
document.body.onkeydown = function(e) {
if( e.keyCode == 32 ) {
addHit();
}
}
var mag = "";
var hitElement2 = document.querySelector( '.mag' );
document.body.onkeydown = function(f) {
if( f.keyCode == 32 ) {
if( mag.text == "") {
mag = "";
renderMag();
else
mag = "";
renderMag();
}
}
}
var addHit = function() {
hits++;
renderHits();
}
var renderMag = function() {
hitElement2.innerHTML = mag;
}
var renderHits = function() {
hitElement.innerHTML = hits;
}
var resetHits = function() {
hits = 0;
renderHits();
}
Console也完全不说话。
答案 0 :(得分:1)
我修复了一些问题,并更改了一些不需要修复的问题。三个关键点:
如前所述,Randy有点苛刻,您的第二个事件侦听器正在覆盖您的第一个事件侦听器,因此点击率没有增加
第二个事件侦听器的if语句中的括号出现了一些问题
尽管检查mag图标可能可行,但是在代码中使用图标感觉就像是要打破一些东西,因此我将其更改为取模检查,以查看命中率是奇数还是偶数。
< / li>您在正确的轨道上。将来遇到此类问题时,请尝试将控制台日志语句放在代码中的不同位置。对哪些变量在什么时候应该具有什么值进行预测,然后检查它们是否有,然后,如果没有,则尝试找出原因。
var hits = 0;
var hitElement = document.querySelector('.hits');
var mag = "";
var hitElement2 = document.querySelector('.mag');
document.body.onkeydown = function(f) {
if (f.key == ' ') {
addHit();
if (hits % 2 === 0) {
mag = "";
renderMag();
} else {
mag = "";
renderMag();
}
}
}
function addHit() {
hits++;
renderHits();
}
function renderMag() {
hitElement2.innerHTML = mag;
}
function renderHits() {
hitElement.innerHTML = hits;
}
function resetHits() {
hits = 0;
renderHits();
}
<div class="hits"></div>
<div class="mag"></div>