正如我在上一篇文章中所说,我目前正在尝试使用jQuery进行Rock,Paper,Scissors游戏,但是,我遇到了另一个问题。我希望电脑随机选择Rock,Paper或Scissors。因此,我使用Math.random()来选择0到1之间的随机数,而不是将不同的范围分配给Rock,Paper或Scissors(我保存在变量“guess”中) 然后我想检查所选值是否与按钮(.choice2)中文本的值相对应。如果它对应于它我想将背景更改为红色,如果不是,我希望按钮消失。出于某些原因,它只是隐藏了所有按钮,但我不明白。
按钮的HTML:
<div id="main">
<div class="col-md-6">
<h3>Computer's Choice:</h3>
<div class="choices">
<button class="choice2 btn btn-submit">Rock</button>
<button class="choice2 btn btn-submit">Paper</button>
<button class="choice2 btn btn-submit">Scissors</button>
</div>
</div>
<div class="col-md-6">
<h3>Player's Choice:</h3>
<div class="choices">
<button class="choice1 btn btn-submit">Rock</button>
<button class="choice1 btn btn-submit">Paper</button>
<button class="choice1 btn btn-submit">Scissors</button>
</div>
</div>
</div>
jQuery:
$.fn.getVal = function () {
var comp_choice = Math.random();
if(comp_choice <= 0.33)
var guess = "Rock"
}
else if ((comp_choice >0.33) && (comp_choice <= 0.66)) {
var guess = "Paper"
}
else {
var guess = "Scissors"
}
$('.choice2').each(function () {
if (guess == $('.choice2').text()) {
$(this).css('background-color', 'blue');
}
else {
$('.choice2').not($(this)).hide();
}
});
};
答案 0 :(得分:0)
我刚修复它:而不是$('。choice2')。not($(this))。hide();我使用了$(this).hide();
$.fn.getVal = function () {
var comp_choice = Math.random();
var guess = '';
if(comp_choice <= 0.33) {
guess = "Rock"
}
else if ((comp_choice >0.33) && (comp_choice <= 0.66)) {
guess = "Paper"
}
else {
guess = "Scissors"
}
$('.choice2').each(function () {
if (guess == $(this).text()) {
$(this).css('background-color', 'blue');
}
else {
$(this).hide();
}
});
};