getScript をかなり広範囲に使用する必要があるエンジンを作成しています。使いやすいように独自の関数にプッシュしましたが、関数自体が同期していることを確認する必要があります。残念ながら、getScript がロードするスクリプトのロードが実際に完了するまで待機させてから続行することはできないようです。呼び出しを行う前に、jQuery の ajax asynch プロパティを false に設定してみました。jQuery の when/done プロトコルを使用することを考えていますが、関数内に配置して関数自体を同期させるというロジックに頭を悩ませているようには見えません。どんな助けでも大歓迎です!
function loadScript(script){
//Unrelated stuff here!!!
$.when(
$.getScript(script,function(){
//Unrelated stuff here!!!
})).done(function(){
//Wait until done, then finish function
});
}
ループコード (リクエストによる):
for (var i in divlist){
switch($("#"+divlist[i]).css({"background-color"})){
case #FFF:
loadScript(scriptlist[0],divlist[i]);
break;
case #000:
loadScript(scriptlist[2],divlist[i]);
break;
case #333:
loadScript(scriptlist[3],divlist[i]);
break;
case #777:
loadScript(scriptlist[4],divlist[i]);
break;
}
}