你的問題是,你要設置的文字描述字符串加載頁面時,用戶已經選擇了派前。
// curFaction is undefined here, as user cannot select a faction
// *before* the page is loaded!!
var aLevel[1] = "Description1 of guy from " + curFaction + ".";
的最快修復是,當它需要產生的說明。這樣做的一個方法是將存儲功能aLevel
,而不是字符串,如下所示:
var aLevel[1] = function() { "Description1 of guy from " + curFaction + "."; };
var aLevel[2] = function() { "Description2 of guy from " + curFaction + "."; };
var aLevel[3] = function() { "Description3 of guy from " + curFaction + "."; };
然後,當你需要你的描述,調用該函數:
// Original code:
"Stuff about claim on throne. " + aLevel[temp6] + ".";
// New code - note brackets after "aLevel[temp6]"
"Stuff about claim on throne. " + aLevel[temp6]() + ".";
我'created a Fiddle顯示了這一點。
順便說一句,你的代碼一般可以重構了很多 - 作爲一項規則,如果你發現你正在編寫相同的算法,一遍又一遍,然後你需要記住DRY principle :)
哪條線路是gen的功能叫什麼? –
你想問什麼。 jsFiddle工作正常。問題是什麼。你可以指出它在jsfiddle –
嘗試使用螢火蟲 - 觀察控制檯,並看看底層系統是否在幕後做出任何意外的請求 - 也許遊戲正在做一個操縱這個變量的值的Ajax請求。 – Oliver