2015-07-26 1 views
0

Я сделал функцию, называемую «сравнить» и хотите, чтобы запустить его с помощью кнопки с идентификатором «начать»Запуск функции Js от кнопки и отображения

<input type="button" id="start" onClick="compare(userChoice, computerChoice)" value="Start"> 

но когда она нажата функция не загружается, Кроме того, я попытался показать его в этом

document.getElementById("score").innerHTML = compare(userChoice, computerChoice); 

но проблема в том, что она начинается при загрузке страницы

<script> 
 

 
     var userChoice = prompt("Do you choose rock, paper or scissors?"); 
 
var computerChoice = Math.random(); 
 
if (computerChoice < 0.34) { 
 
\t computerChoice = "rock"; 
 
} else if(computerChoice <= 0.67) { 
 
\t computerChoice = "paper"; 
 
} else { 
 
\t computerChoice = "scissors"; 
 
} 
 

 
var compare = function(choice1, choice2){ 
 
    if(choice1 === choice2){ 
 
    return "The result is a tie!" 
 
    } 
 
    else if(choice1 === "rock"){ 
 
    if(choice2 === "scissors"){ 
 
    return "rock wins"; 
 
    } 
 
    else{ 
 
    return "paper wins" 
 
    } 
 
    } 
 
    
 
    
 
    else if(choice1 === "paper"){ 
 
    if(choice2 === "rock"){ 
 
    return "paper wins"; 
 
    } 
 
    else{ 
 
    return "scissors wins" 
 
    } 
 
    } 
 
    
 
    
 
    
 
    
 
    
 
    else if(choice1 === "scissors"){ 
 
    if(choice2 === "paper"){ 
 
    return "scissors wins"; 
 
    } 
 
    else{ 
 
    return "rock wins" 
 
    } 
 
    } 
 
    
 
}; 
 
document.getElementById("player").innerHTML = userChoice; 
 
document.getElementById("computer").innerHTML = computerChoice; 
 
document.getElementById("score").innerHTML = compare(userChoice, computerChoice) ; 
 

 
</script>
Спасибо за чтение

+0

Это было предложено ранее. http://stackoverflow.com/search?q=rock – Jonathan

ответ

2

вашей функции сравнение возвращает строку, поэтому, называя его от OnClick приведет к ничего не происходит, вы не указало, что вы хотите делать с возвращением функции

, а не все ваши «возвращается» в этой функции, вы можете заменить их

document.getElementById("score").innerHTML = 

лучше всего было бы что-то вроде

var compare = function() { 
    var userChoice = prompt("Do you choose rock, paper or scissors?"); 
    var computerChoice = Math.random(); 
    if (computerChoice < 0.34) { 
     computerChoice = "rock"; 
    } else if(computerChoice <= 0.67) { 
     computerChoice = "paper"; 
    } else { 
     computerChoice = "scissors"; 
    } 
    var check = function() { 
     if (userChoice === computerChoice) { 
      return "The result is a tie!" 
     } else if (userChoice === "rock") { 
      if (computerChoice === "scissors") { 
       return "rock wins"; 
      } else { 
       return "paper wins" 
      } 
     } else if (userChoice === "paper") { 
      if (computerChoice === "rock") { 
       return "paper wins"; 
      } else { 
       return "scissors wins" 
      } 
     } else if (userChoice === "scissors") { 
      if (computerChoice === "paper") { 
       return "scissors wins"; 
      } else { 
       return "rock wins" 
      } 
     } 
    } 
    document.getElementById("score").innerHTML = check(); 
}; 

или даже

var compare = function() { 
    var userChoice = prompt("Do you choose rock, paper or scissors?"); 
    var computerChoice = Math.random(); 
    if (computerChoice < 0.34) { 
     computerChoice = "rock"; 
    } else if(computerChoice <= 0.67) { 
     computerChoice = "paper"; 
    } else { 
     computerChoice = "scissors"; 
    } 
    document.getElementById("score").innerHTML = function() { 
     if (userChoice === computerChoice) { 
      return "The result is a tie!" 
     } else if (userChoice === "rock") { 
      if (computerChoice === "scissors") { 
       return "rock wins"; 
      } else { 
       return "paper wins" 
      } 
     } else if (userChoice === "paper") { 
      if (computerChoice === "rock") { 
       return "paper wins"; 
      } else { 
       return "scissors wins" 
      } 
     } else if (userChoice === "scissors") { 
      if (computerChoice === "paper") { 
       return "scissors wins"; 
      } else { 
       return "rock wins" 
      } 
     } 
    }(); // IIEF 
}; 

(код редактировал основанный на комментарий вопрос)

в обеих случаях вы можете изменить кнопку

<input type="button" id="start" onClick="compare()" value="Start"/> 
+0

Спасибо за помощь, вы знаете, как ее запустить? – Ben

+0

"начать его" ??? не '' работает для вас? –

+0

Нет, он ничего не делает и я изменил код с возврата на document.getElementById («оценка»). InnerHTML = – Ben