JavaScript s'exécutant dans mon code HTML

J'ai donc commencé à apprendre le HTML/CSS/JavaScript et suis tombé sur ce problème tout en essayant de faire extrêmement simple version de roche-papier-ciseaux. Je crois que le code fonctionne très bien, mais je ne peux pas vérifier car il refuse de s'exécuter. J'ai regardé beaucoup pour les réponses sur internet, mais impossible de le trouver. J'ai très peu d'expérience en JavaScript, je suis actuellement en apprentissage hors de Codecademy mais je pense que cette ressource peut être obsolète comme d'autres sites web semblent avoir contradictoires de la syntaxe. En bref, ce que je fais mal, et le site est-il juste?

<html>
<head>
<title>R,P,S!</title>
<script type="text/javascript">
function whole(){
function game(play){
if (play="yes"){
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";
}
function compare(choice1,choice2){
if (choice1==choice2){
compare(userChoice,computerChoice);
}
if (choice1=="rock"){
if (choice2=="scissors"){
document.getElementById("result").innerHTML="Rock wins";
}
else{
document.getElementById("result").innerHTML="Paper wins";
}
}
if (choice1=="paper"){
if (choice2=="rock"){
document.getElementById("result").innerHTML="Paper wins";
}
else{
document.getElementById("result").innerHTML="Scissors win";
}
}
if (choice1=="scissors"){
if (choice2=="paper"){
document.getElementById("result").innerHTML="Scissors win";
}
else{
document.getElementById("result").innerHTML="Rock wins";
}
}
};
compare(userChoice,computerChoice);
}
else{
document.writeln("<p>Thanks for playing! This was made by Alex</p>";)
}
}
var start = prompt ("Do you want to play?","Yes");}
</script>
</head>
<body style="text-align:center">
<h1>JavaScript on a webpage? This is madness!</h1>
<h2>Madness? THIS... IS... HTML!!!!</h2>
<button onclick="whole()">Try it out!</button>
<p id="result">Who won?</p>
</body>
</html>

**Edit: Il semble que Codecademy glossaire en accord avec d'autres sites web, ils n'ont tout simplement pas eu l'occasion de la modification de leur encore des leçons.*

**Edit: Voici la version définitive de mon peu de code pour cela. Profiter de sa simplicité!*

<html>
<head>
<title>R,P,S!</title>
<script type="text/javascript">
function whole(){
function game(play){
if (play=="Yes"||play=="yes"){
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";
}
function compare(choice1,choice2){
if (choice1==choice2){
alert("It was a tie!");
game("yes");
}
if (choice1=="rock"){
if (choice2=="scissors"){
document.getElementById("messages").innerHTML="";
document.getElementById("win").innerHTML="You win. Rock crushes scissors.";
document.getElementById("loss").innerHTML="";
}
else{
document.getElementById("messages").innerHTML="";
document.getElementById("loss").innerHTML="You lose. Paper smothers rock.";
document.getElementById("win").innerHTML="";
}
}
else if (choice1=="paper"){
if (choice2=="rock"){
document.getElementById("messages").innerHTML="";
document.getElementById("win").innerHTML="You win. Paper smothers rock.";
document.getElementById("loss").innerHTML="";
}
else{
document.getElementById("messages").innerHTML="";
document.getElementById("loss").innerHTML="You lose. Scissors cut paper.";
document.getElementById("win").innerHTML="";
}
}
else if (choice1=="scissors"){
if (choice2=="paper"){
document.getElementById("messages").innerHTML="";
document.getElementById("win").innerHTML="You win. Scissors cut paper.";
document.getElementById("loss").innerHTML="";
}
else{
document.getElementById("messages").innerHTML="";
document.getElementById("loss").innerHTML="You lose. Rock crushes scissors.";
document.getElementById("win").innerHTML="";
}
}
else{
alert("Very funny. Now do it right.");
game("yes");
}
};
compare(userChoice,computerChoice);
}
else{
document.getElementById("messages").innerHTML="Well alrighty then.";
document.getElementById("loss").innerHTML="";
document.getElementById("win").innerHTML="";
}
}
var start = prompt ("Do you want to play?","Yes");
game(start);}
</script>
<style>
body{
text-align:center;
}
#messages{
font-size:20px;
color: #00246B;
}
#win{
color: #29A329;
font-size:18px;
}
#loss{
color:#CC0000;
font-size:18px;
}
a{
text-decoration:none;
color:black;
}
a:hover{
font-size:125%;
color:#B20000;
}
button{
font-size:21px;
}
</style>
</head>
<body>
<a href="http://youtu.be/T8r3cWM4JII">
<h1>JavaScript on a webpage? This is madness!</h1>
<h2>Madness? THIS... IS... HTML!!!!</h2>
</a>
<button onclick="whole()">Try it out!</button>
<p id="messages">Who won?</p>
<p class="result"><span id="loss"></span><span id="win"></span></p>
</body>
</html>
  • Donc ce qui se passe?
  • Le JavaScript n'est pas en cours d'exécution lorsque j'appuie sur le bouton.
  • Vous devez ouvrir votre navigateur de la console de développement, et de vérifier pour voir si il y a des messages d'erreur. par exemple, jetez un oeil à " Cela a été fait par Alex</p>";)'
  • Votre fonction ne fait rien, sauf à vous demander si vous voulez jouer.
  • Ah. I, apparemment, ont un inattendu "}". Que doit être un plaisir à trouver.
  • Essayez de faire alert("Hello world"); que la première ligne à l'intérieur de l'ensemble(). Vous obtenez une boîte d'alerte?
  • Votre navigateur (en supposant que vous avez un normal) devrait vous informer sur le numéro de ligne de l'erreur, dans ma console sa me dit de regarder la ligne 49, et en supposant que vous avez un éditeur de texte qui affiche les numéros de ligne, vous devriez être capable de trouver qu'il est relativement aisé.
  • Non, je ne. Apparemment, il n'est pas de comptage de l'ensemble() tel que défini.

InformationsquelleAutor LemenDrop | 2013-10-06