我有一個顯示HTML5畫布的網頁。當網頁加載,下面的JavaScript函數被調用:從另一個JS文件中的另一個函數調用JavaScript函數
window.onload = function(){
var sources = {};
sources[0] = document.getElementById("building").src,
sources[1] = document.getElementById("chair").src,
sources[2] = document.getElementById("drink").src,
sources[3] = document.getElementById("food").src,
sources[4] = document.getElementById("fridge").src,
sources[5] = document.getElementById("land").src,
sources[6] = document.getElementById("money").src,
sources[7] = document.getElementById("oven").src,
sources[8] = document.getElementById("table").src,
sources[9] = document.getElementById("van").src,
sources[10] = document.getElementById("burger").src,
sources[11] = document.getElementById("chips").src,
sources[12] = document.getElementById("drink").src,
sources[13] = document.getElementById("franchiseFee").src,
sources[14] = document.getElementById("wages").src,
sources[15] = document.getElementById("admin").src,
sources[16] = document.getElementById("cleaners").src,
sources[17] = document.getElementById("electricity").src,
sources[18] = document.getElementById("insurance").src,
sources[19] = document.getElementById("manager").src,
sources[20] = document.getElementById("rates").src,
sources[21] = document.getElementById("training").src,
sources[22] = document.getElementById("water").src,
sources[23] = document.getElementById("burger").src,
sources[24] = document.getElementById("chips").src,
sources[25] = document.getElementById("drink").src,
sources[26] = document.getElementById("creditors").src,
sources[27] = document.getElementById("electricity").src,
sources[28] = document.getElementById("food").src,
sources[29] = document.getElementById("hirePurchase").src,
sources[30] = document.getElementById("loan").src,
sources[31] = document.getElementById("overdraft").src,
sources[32] = document.getElementById("payeTax").src,
sources[33] = document.getElementById("tax").src
loadImages(sources, drawImage);
drawGameElements();
drawDescriptionBoxes();
};
這個函數從HTML到JavaScript的隱藏的部分一些圖像,並通過調用它們繪製在畫布「的drawImage()」函數在'sources'數組中的每個圖像上。然後它調用'drawGameelements();'函數,它將更多的東西繪製到畫布上,最後,我想調用'drawDescriptionBoxes()'函數。然而,這個函數是在一個單獨的JS文件中的其餘代碼,並且當我在瀏覽器中查看頁面時,雖然調用了'loadImages()'和'drawGameElements()',並繪製它們「再應該到畫布上,我在控制檯中的錯誤說:
ReferenceError: drawDescriptionBoxes is not defined
我假設意味着我沒有正確引用的函數,因爲它在同一個文件不是因爲我在那裏稱它。
我想知道的是如何從另一個文件中調用此函數?它會是這樣的:filename.js.drawDescriptionBoxes
?
文件名無所謂,它全都是關於函數的作用域。 –
您可以顯示drawDescriptionBoxes的代碼,以及如何包含這兩個JavaScript文件? – Emily
請使用循環(通過帶有ID的數組,或者遍佈所有圖像),而不是使用34行重複代碼。 – Bergi