Ajax 呼び出しに 1 秒以上かかる場合にのみ、「読み込み中...」アニメーションを表示することは可能ですか? 一部の Ajax 呼び出しは非常に高速ですが、読み込みアイコンが消えるまでのほんの一瞬だけ表示されます。私だけかもしれませんが、気が散ります。完全に削除したくはありません。何か提案はありますか? これが私のコードです -
$('#loading').hide()
.ajaxStart(function() {
$(this).show();
})
.ajaxStop(function() {
$(this).hide();
});
<div id="loading">
<img alt="Loading, please wait.." src="/content/images/spinner.gif" />
</div>
ベストアンサー1
コードをタイマー内に配置する必要があります:
var $loader = $('#loading'), timer;
$loader.hide()
.ajaxStart(function()
{
timer && clearTimeout(timer);
timer = setTimeout(function()
{
$loader.show();
},
1000);
})
.ajaxStop(function()
{
clearTimeout(timer);
$loader.hide();
});