繁体   English   中英

为什么当我正确回答一个以上的操作时,correctAns 不会增加

[英]Why The correctAns doesn't increase when i answer more than one operation right

qualBtn.addEventListener('click', () => {
        if (textbox.value == '') {
        textbox.value = '';
        }
        else {
            if (textbox.value.includes('>') || textbox.value.includes('<')) {
                let answer = eval(textbox.value)
                if(answer == true || answer == 'Great Job') {
                    let answer = 'Great Job'
                    textbox.value = answer
                    if(answer == 'Great Job'){
                        let k = 0
                        correctAns.innerText = `You got ${k+1} correct`
                        return k++
                    }
                }
                else {
                    let answer = 'Try Again'
                    textbox.value = answer
                }
            }
            else {
                let answer = eval(textbox.value);
                textbox.value = answer;   
            }
        }
});

我已经尝试了一切,我希望通过正确回答每个操作,通过正确回答每个问题来增加 k 值

您每次都设置 k=0 。 您需要将let k=0移到事件之外。 这里有一些其他的注意事项。

qualBtn.addEventListener('click', () => {
    if (textbox.value == '') {
    textbox.value = '';
    }
    else {
        if (textbox.value.includes('>') || textbox.value.includes('<')) {
            let answer = eval(textbox.value)
            if(answer == true || answer == 'Great Job') {
                let answer = 'Great Job' // answer is already defined up a couple lines. You can just put answer = 'Great Job' without the let.
                textbox.value = answer
                if(answer == 'Great Job'){//This check isn't needed; this value is set two lines above.
                    let k = 0 //Move this out to solve your problem. K is always reset to 0 when it gets here.
                    correctAns.innerText = `You got ${k+1} correct`
                    return k++
                }
            }
            else {
                let answer = 'Try Again'
                textbox.value = answer //you can just put 'Try Again' here. No need for the answer variable.
            }
        }
        else {
            let answer = eval(textbox.value);
            textbox.value = answer;   
        }
    }

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM