さて、私のタイトルは少しわかりにくいですが、基本的には関数があり、その関数の実行が終了したら、指定された手順を実行する必要があります。これが私のJavaScriptです:
createSideTable(showThis, function() {
$('#' + showThis + 'Screen').slideDown('slow');
});
ステップの前にすべてのコードを createSideTable 関数で実行したい
$('#' + showThis + 'Screen').slideDown('slow');
実行することができます。createSideTable は多かれ少なかれ、サイド テーブルをゆっくりとフェードインさせます。この関数は、この投稿の最後で確認できます。通常、すべてのステップを実行してから他の特定のステップを実行したい関数がある場合、このようにします
createSideTable(function() {
$('#' + showThis + 'Screen').slideDown('slow');
});
それは機能しますが、createSideTable 関数にはパラメーターが必要です (必要なパラメーターは showThis です)。だから私が試したとき
createSideTable(showThis, function() {
$('#' + showThis + 'Screen').slideDown('slow');
});
sideTable は作成されましたが、このステップでは
$('#' + showThis + 'Screen').slideDown('slow');
sideTable の作成後に実行されませんでした。どうして?これは私の createSideTable 関数です。
function createSideTable(test) {
var key = test.substr(test.length -1); //index of Heading
for (var i=0; i<window['headings' + key].length; i++) {
if (i == 0) {
$('#row' + i).addClass('subHeadingClicked');
}
$('#row' + i).text('').removeClass('column1invisible');
$('#row' + i).append(window['headings' + key][i]);
}
$('#sideTable').fadeIn(1500);
}