gpt4 book ai didi

javascript - 在函数中重复循环 if/else 语句

转载 作者:行者123 更新时间:2023-11-28 04:27:03 27 4
gpt4 key购买 nike

我在 onclick 函数中重复循环 if/else 语句时遇到问题。在这款游戏中,你必须判断一个单词是否有效,然后继续判断,直到答错一个单词为止。

但是发生的情况是代码通过 if/else 分支的次数与您所做的问题相同。所以第一个问题一次,第二个问题两次,依此类推。因此,在第五个问题上,您将看到 5 个警报框,并且您的分数将增加 5,而不是 1。

总共有相当长的代码,否则它可以工作(我还没有完成高分位)。我把其中的一小部分放在我认为问题所在的地方。

完整内容请参见 http://www.absp.org.uk/test/study3lw.shtml

function quiz(){

...

$('#true').on('click', function(){
...
if (valid === true){ // ie got it right
score++;
alert(score);
...
} else { // got it wrong
...
score = 0;
$('#word').append("*");
alert("Game Over!");
}
});

$('#false').on('click', function(){
...
if (valid === false){ // ie got it right
score++;
alert(score);
...
} else { // got it wrong
score = 0;
alert("Game Over!");
...
}
});

}


$('#start').on('click', function (){ // calls the above for each question
...
quiz();
});

最佳答案

看起来您正在为每个问题创建一个新的单击事件,因此到第五个问题时,您的按钮就有了五个事件监听器。我相信 jQuery 有 .one() ,它会在事件触发后取消注册该事件。尝试使用 .one() 而不是 .on()

http://api.jquery.com/one/

关于javascript - 在函数中重复循环 if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44955710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com