等待按钮单击,然后再继续

Wait for a button click before proceeding

本文关键字:然后 再继续 单击 按钮 等待      更新时间:2023-09-26

我有一个警报弹出,询问"你想玩吗",如果答案为真,它会运行一些代码。但是在你点击"是"之后,我希望按下一个按钮,我的代码继续运行,而无需等待它被按下。

这是我作为Javascript所拥有的:

var start = confirm("Would you like to Play?");
var plays = 0;
var playerScore = 0;
var computerScore = 0;
var userChoice = ""
function choose(buttonChoice) {
    userChoice = buttonChoice;
}
while(start) {
    var pScoreDiv = document.getElementById('pScore');
    pScoreDiv.innerHTML  = playerScore;
    var cScoreDiv = document.getElementById('cScore');
    cScoreDiv.innerHTML  = computerScore;
    console.log(playerScore);
    console.log(computerScore);
    var computerChoice = Math.random();
    if (computerChoice < 0.34) {
        computerChoice = "rock";
    } else if(computerChoice <= 0.67) {
        computerChoice = "paper";
    } else {
        computerChoice = "scissors";
    }
}
<button onClick="choose('rock')">Rock</button>
<button onClick="choose('paper')">Paper</button>
<button onClick="choose('scissors')">Scissors</button>

您只侦听要选择的确认按钮,而不是要单击的按钮。

在下面的代码中,我将while更改为一个函数,该函数检查是否已设置start,并在单击按钮时调用。

var start = confirm("Would you like to Play?");
var plays = 0;
var playerScore = 0;
var computerScore = 0;
var userChoice = ""
function choose(buttonChoice) {
  userChoice = buttonChoice;
  play();
}
function play() {
  if (start) {
    var pScoreDiv = document.getElementById('pScore');
    pScoreDiv.innerHTML = playerScore;
    var cScoreDiv = document.getElementById('cScore');
    cScoreDiv.innerHTML = computerScore;
    console.log(playerScore);
    console.log(computerScore);
    var computerChoice = Math.random();
    if (computerChoice < 0.34) {
      computerChoice = "rock";
    } else if (computerChoice <= 0.67) {
      computerChoice = "paper";
    } else {
      computerChoice = "scissors";
    }
  }
}
<button onClick="choose('rock')">Rock</button>
<button onClick="choose('paper')">Paper</button>
<button onClick="choose('scissors')">Scissors</button>

尝试

if (start == true) {

而不是

while (start) {