У меня есть внешний файл javascript, который имеет две функции, и оба должны вызываться каждый раз, когда страница загружается. Однако, не делайте. Если я прокомментирую строку в js-файле, который вызывает функцию tester(), вызывается runGame(), но если тестер() не комментируется, то не запускается. Однако, если я положу вызов функции test() после вызова runGame(), то runGame() работает, но тестер() все еще не работает.Почему не вызываются вызовы, если один из них раскоментирован?
Тестер() даже не запускается сам по себе, поэтому, вероятно, что-то я сделал не так в этой функции. Может ли кто-нибудь сказать мне, что я сделал не так?
HTML
<html>
<head>
<script type="text/javascript" src="rock_paper_scissors.js">
</script>
</head>
<body>
<p id="game">Test</p>
<br />
<input type="button" value="Play again" onClick="tester()"></input>
</body>
rock_paper_scissors.js
var info = document.getElementById("game");
var tester = function(){
document.getElementById('game').innerHTML = 'hello';
//info.innerHTML("HI");
};
var compare = function(choice1, choice2){
if(choice1 == choice2)
document.write("The result is a tie!");
else if(choice1 == "rock"){
if(choice2 == "scissors")
document.write("You win! Rock wins");
else
document.write("The computer wins! Paper wins");
}
else if(choice1 == "paper"){
if(choice2 == "rock")
document.write("You win! Paper wins");
else
document.write("The computer wins! Scissors wins");
}
else if(choice1 == "scissors"){
if(choice2 == "rock")
document.write("The computer wins! Rock wins");
else
document.write("You win! Scissors wins");
}
else
document.write("You didn't pick a real choice");
};
var runGame = 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.write("<p>You picked " + userChoice + "</p>");
document.write("<p>The Computer picked " + computerChoice + "</p>");
compare(userChoice, computerChoice);
};
runGame();
tester();
Поместите тег сценария после тега закрытия тела, чтобы он загружался только при загрузке DOM. – zz3599
Проверьте консоль javascript ... вы не можете изменить DOM перед ее загрузкой. Переместите теги '' непосредственно перед '