Проблема в том, что эти функции выполняются асинхронно, и bioPageClass
вызывается до того, как getJSON
будет выполнено. Измените его так, чтобы bioPageClass
вызывался как обратный вызов.
Вы можете сделать это, если хотите:
Вверху:
contentJson(bioPageClass);
In contentJson
:
function contentJson(callback){
$.getJSON("content.json", function(json){
allVars.allContent = json;
allVars.nums = 8000;
callback();
});
}
Но может быть проще (и лучше практиковать) передавать все переменные, чем сохранять их глобальными. Определите его в contentJson
, а затем передайте его bioPageClass
. Без более красивого обратного вызова вы могли бы просто сделать:
function contentJson(){
var allVars = {};
$.getJSON("content.json", function(json){
allVars.allContent = json;
allVars.nums = 8000;
bioPageClass(allVars);
});
}