Решение Дейва Моргана сработало для меня.
Вот немного более чистая версия.
Проблема со всеми решениями, описанными выше, заключается в том, что вам нужно создать какое-то изображение или элемент div в вашем контейнере, прежде чем делать это. Это пустая трата ресурсов и затрудняет применение к конкретным целям. Позвольте jquery генерировать div вместо этого.
Вот мой код:
1010 * JS *
$('#trigger').on('click', function(){
var target = $('#stage');
var el = $('<div class="spinner" />').width(target.width()).height(target.height());
target.prepend(el);
});
CSS
.spinner{
position: absolute;
cursor: wait;
z-index: 10000;
-khtml-opacity:.50;
-moz-opacity:.50;
-ms-filter:"alpha(opacity=50)";
filter:alpha(opacity=50);
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.5);
opacity:.50;
background: url('../img/system/ajax.gif') no-repeat center #f8f8f8;
}