私は単純なjqueryを使用してローダーを表示および非表示にしていますが、表示されるとすぐに非表示になるようなコールバックがないためです。コードは次のとおりです。フローを説明するためにコメントします。
$('#test img').click(function(e) { // image is clicked
$('#loader').show(); // show loader
e.preventDefault();
$(this).css('opacity', 1);
var url = $('input[name=url]').val();
var filter = $(this).data('filter');
$('input[name=filter]').val(filter);
// get image as a result of a call to another page
$('#result').attr('src', 'index.php?url=' + url + '&filter=' + filter);
$('#loader').hide(); // hide loader
});
ご覧のとおり、画像は別の php ページへの呼び出しから生成され、次のような処理後に画像を出力します。
$output = 'http://myurl.com/filter/' . $filename;
header('Location: ' . $output, TRUE, 301);
die;
画像がクリックされたときにローダーがロードされ、他の画像が作成されたときに非表示になるように、コールバックを作成する方法はありますか?