次のコードがあります。
HTML
<div id="body"></div>
JS
var site = { 'pageData' : [
{
'loadInTo' : '#aboutUs',
'url' : 'aboutUs.html',
'urlSection' : '.sectionInner'
},
{
'loadInTo' : '#whatWeDo',
'url' : 'whatWeDo.html',
'urlSection' : '.sectionInner'
},
{
'loadInTo' : '#ourValues',
'url' : 'ourValues.html',
'urlSection' : '.sectionInner'
},
{
'loadInTo' : '#ourExpertise',
'url' : 'ourExpertise.html',
'urlSection' : '.sectionInner'
}
]}
for(i=0; i < site.pageData.length; i++) {
var loader = site.pageData[i];
$('#body').append('<div id="'+ loader.loadInTo +'" class="section" />');
$(loader.loadInTo).load(loader.url + ' ' + loader.urlSection);
}
私がやっていることは、サイト変数をループし、「loadInTo」に設定されたIDを持つjQueryのappendメソッドを使用していくつかのdivを書き出すことです。これはうまくいきます。これが完了したら、jQuery の load メソッドを使用して、他のページからの HTML を div に入力します。div を追加した後にコールバックを行う方法はありますか? このようなもの:
$('#body').append('<div id="'+ loader.loadInTo +'" class="section" />', function(){
$(loader.loadInTo).load(loader.url + ' ' + loader.urlSection);
});