$ .get()を使用してモーダル内にフルスクリーンをロードするHTMLで構築されたアプリがあります
誰かがアイコンをクリックしてアプリをロードするとトリガーされるロード画面があります。
アプリをクリアして表示する前に、ロード画面を最低2秒間表示したいと思います。
2000ミリ秒実行されるタイマーを開始し、コールバックによって入力された変数をチェックしてnullかどうかを確認し、変数がロードされたときにのみ特定のアクションを続行する、適切で安全な方法はありますか?
whileループでうまくいくことはわかっていますが、遅い日にコンテンツが読み込まれる前に1000回循環する可能性があり、これは非効率的な方法のようです。
答え
$('#testApp').click(function() {
var twoSecMin = $.Deferred();
setTimeout(function () { twoSecMin.resolve(); }, 2000);
$('#appModal').fadeIn(400);
$.when($.get("/usm/portal/_layouts/monkeysphere/test.aspx"),twoSecMin).then(function (data) {
$('#appContainer').html(data[0]);
$('#appContainer').show();
$('#appModal').fadeOut(200);
});
});