Depending on what you are trying to do, it's not particularly hard. The following will show a loading image (pre-existing), then load some html retrieved via ajax, then upon completion, it will hide the loading image.
$(function() {
$('#activate').click( function() {
$('#loadingImg').show();
$('#whereItGoes').load( 'url-to-data-to-be-loaded', function() {
$('#loadingImg').hide();
});
});
});
If the data to be loaded are images, then it gets a little tricker since the load callback may be called before the image data is actually downloaded. One strategy in that case is to have a script included with the HTML that knows how many images are to be loaded and have an onloaded event handler that basically ticks off the image count until all the images have been downloaded. I usually couple it with a timeout in case the onloaded handler doesn't get added before the image data is available (in which case it won't fire).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…