2 839 Скрипты / Loading

Картинка загрузки для аякс запросов


Небольшая заметка о том, как при выполнении на страницы 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;
}

JS

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

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

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/jаvascript"></script>
<script type="text/jаvascript">
$(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>
Скачать 328Загрузок 8,12 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи