我試圖製作一個hang子手遊戲,如果選擇了錯誤的字母,它會在hangman模型中添加一個正文部分。我希望顯示左臂後顯示,右臂顯示在下一個字母輸入。不過,他們都表現出了第一個錯誤輸入用javascript交換img標籤
//JavaScript document
var answer = ['h', 'a', 'n', 'g', 'm', 'a', 'n'];
var wrong= ['b' ,'c' ,'d', 'e' ,'f' ,'i' ,'j' ,'k' ,'l','o' ,'p', 'q', 'r', 's' ,'t', 'u', 'v' ,'w', 'x' ,'y' ,'z'];
var letters = /^[a-zA-Z]*$/;
var answerLetter = document.getElementsByClassName("answer_char");
var letterpool= ['a ' ,'b ' ,'c ' ,'d ', 'e ' ,'f' ,'g ' ,'h ' ,'i ' ,'j ' ,'k ' ,'l ', 'm ' ,'n ' ,'o ' ,'p ', 'q ', 'r ', 's ' ,'t ', 'u ', 'v ' ,'w ', 'x ' ,'y ' ,'z '];
var leftarm = false
onload = init;
function init(){
updateDisplay()
document.getElementById("guess_button").onclick = function enter() {
var userGuess = document.getElementById("guess_text").value;
// This uses String.prototype.match() used too see if its both a letter and a single entry
if(userGuess.match(letters) && userGuess.length === 1) {
for (var i = 0; i < answer.length; i++) {
if (userGuess === answer[i])
// answer[i] correlates to answerLetter[i].
answerLetter[i].innerHTML = userGuess;
}
if(userGuess.match(letters) && userGuess.length === 1) {
for (var i = 0; i < wrong.length; i++) {
if (userGuess === wrong[i])
document.getElementsByTagName("img")[1].src="img/leftarm_on.png";
leftarm = true;
}
if(leftarm= true){
document.getElementsByTagName("img")[3].src="img/rightarm_on.png";
}
}
}else {
window.alert('please enter one letter, numbers need not apply .');
}
}
}
'leftarm = true'賦值不在'if(userGuess === wrong [i])'內。 – Barmar 2015-03-31 00:49:07