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