我試圖創建一個基本的Hangman程序。它是一個被分配到對象數組中的標籤數組(稱爲按鈕)。每個圖像都是一個字母的圖像,例如,您可以按'L'按鈕,它會檢查這是否在WordArray(這是一個字符數組)中,然後它會採取相應的行動(隱藏字母,然後更新絞架圖像,如果需要的話)。從Javascript對象(Javascript)中訪問函數
我無法獲取圖像的onclick方法來訪問checkinarray函數。我究竟做錯了什麼?
var LetterAmount = 3; //make this 26. checked.
var WordArray = new Array();
var Buttons = new Array();
function checkinarray(num){
var z = 0;
while (z<4){
document.write("looping through word now");
if (num == WordArray[z]){
document.write("<br/>it is in the word");
}
z++;
}
}
function ButtonClicked(){
this.Image.src = "images/blank.jpg";
checkinarray(this.Number);
}
function Button(Image, Number) {
this.Image = Image;
this.Number = Number;
this.ButtonClicked = ButtonClicked;
}
function initialiseletters(){
var x;
//set up empty img tags for use
for(i = 0; i < LetterAmount; i++) {
document.write("<img id=" + i + ">");
}
for(x = 0; x < LetterAmount; x++) {
document.images[x].src = "images/" + x + ".jpg";
document.getElementById(x).onclick =function(){
Buttons[this.id].ButtonClicked();
}
Buttons[x] = new Button(document.images[x], "" + x);
}
}
function initialiseword(){
//WordArray = new Array();
WordArray[0] = 0;
WordArray[1] = 1;
WordArray[2] = 2;
WordArray[3] = 3;
}
function initialise(){
initialiseword();
initialiseletters();
document.write("testing overall");
}
感謝響應快! 這是一門課程,他們指定我們不能使用任何工具包或擴展,但是。 – David2334 2009-12-08 17:35:58
然後,你被「原始」DOM方法卡住了:'Document#createElement','Node#appendChild'等,加上有用的,非常廣泛支持的和非標準的Element#innerHTML屬性(因爲在頁面被渲染後,你再也不能使用'document.write')。請參閱w3c規範; w3schools(http://www.w3schools.com/)有一些有用的參考和教程。 – 2009-12-08 18:59:00