Небольшая заметка о том, как при выполнении на страницы ajax запросов показывается изображение процесса отправки этого запроса - обычной gif анимации.

Разметка HTML

<div class="main">
    <div class='test_content'>
    Содержимое будет загружено в этот DIV.
    </div>
    <h1>Простая jQuery загрузка</h1>
    <p>
        <a id="test" href="#">Нажмите, чтобы увидеть изображение загрузки в действии.</a>
    </p>
</div>

<div id="loading">
        <img src="loading.gif"  />
</div>

CSS

#loading {
    position:fixed;
    top:0px;
    right:50%;
    background:#fff;
    width:60px;
    height:20px;
    padding:0px;
    padding:4px;
    -moz-border-radius-topleft: 0px;
    -moz-border-radius-topright: 0px;
    -moz-border-radius-bottomright: 5px;
    -moz-border-radius-bottomleft: 5px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    -webkit-box-shadow: 3px 3px 3px #0a0a0a;
    -moz-box-shadow: 3px 3px 3px #0a0a0a;
    box-shadow: 3px 3px 3px #0a0a0a;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-left-width: 2px;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-right-color: #CCC;
    border-bottom-color: #CCC;
    border-left-color: #CCC;
    z-index: 999999;
}

.main {
    width: 550px;
    border: 1px solid #CCC;
    background-color: #FFF;
    color: #666;
    padding: 20px;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
    height: 300px;
    position:relative;
}

.main .test_content {
    position: absolute;
    bottom: 0px;
}

javascript

Подключаем jQuery и скрипт.

Используя две функции ajaxStart и ajaxStop мы определяем показ нашей GIF картинки или её скрытие в моменты начала и завершения запросов.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#loading')
    .hide()
    .ajaxStart(function() {
        $(this).show();
    })
    .ajaxStop(function() {
        $(this).hide();
    });
    $('#test').click(function() {   
        $('.test_content').load('load_content.php');
        return false;   
    });   
});
</script>

СКАЧАТЬСкачек: 196
8,12 Kb
Кто скачал?

ДЕМОПосмотреть
пример