Вот CSS + HTML, который я использую для загрузки своего изображения.Я использую jQuery, чтобы просто добавить класс, который изменяет непрозрачность с 1 на 0, в сочетании со свойством CSS-перехода для эффекта затухания.Фоновое изображение для #loader имеет размер 220px X 80px и представляет собой сплошной прямоугольник со скругленными цветами с текстом «loading» с правой стороны.Фактическое вращающееся изображение «ajax» имеет высоту 60px, так что относительное позиционирование и отрицательное поле находятся для центрирования изображения по вертикали.
#loader {
width: 220px;
height: 80px;
position: fixed;
top: 50%;
left: 50%;
z-index: -1;
opacity: 0;
background: url(assets/images/bg-loader.png) no-repeat center center;
transition: all .5s ease-in-out;
margin: -40px 0 0 -110px;
}
#loader img {position: relative; top: 50%; margin-top: -30px; left: 10px;}
.loading #loader {z-index: 1000; opacity: 1.0}
И HTML (отсюда я получил loader.gif http://www.preloaders.net):
<div id="loader"><img src="<?php bloginfo('stylesheet_directory'); ?>/assets/images/loader.gif" /></div>
А потом ваш jQuery:
$("#id_btnpolls").click(function(){
var $body = $('body'),
valCheckedRadio = $('input[name=data[distributions]]:checked').val();
$body.addClass('loading');
$.ajax({
type: "POST",
url: "/pollanswers/checkpollanswers",
data: "valCheckedRadio="+valCheckedRadio,
success: function(prm){
//alert(prm);
$("#id_color_polls").html(prm);
$body.removeClass('loading');
}
});
})