У меня такой код:
<div id="gallery">
<img src="image1.jpg">
<img src="image2.jpg">
<img src="image3.jpg">
</div>
Я хочу показать стандартный (для запросов ajax) анимированный gif во время загрузки изображения, а при загрузке показать полное изображение.
Только 1 требование, которое хочет сохранить текущую разметку и выполнить все необходимые манипуляции для загрузки в отдельном блоке скрипта.
1 ответ
Я думаю, вы можете использовать событие ajaxStart и ajaxComplete (jQuery)
<div id="indicator"><img src="/path/to/your/image.gif"/></div>
А также
$("#indicator").bind("ajaxStart", function(){
$(this).show();
});
$("#indicator").bind("ajaxComplete", function(){
$(this).hide();
});
Когда вы используете $.ajax или $.post, он будет автоматически отображать и скрывать загрузчик во время запуска и остановки запроса ajax.
Или, если вы используете XmlHttpRequest, вы можете на основе readyState объекта XmlHttpRequest установить изображение индикатора.
Например:
xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState==4){
document.getElementById("yourDiv").innerHTML=xmlHttp.responseText;
}else if(xmlHttp.readyState==3){
document.getElementById("yourDiv").innerHTML="<img src='loader.gif' />Loading...";
}
}
С readyState как:
- 0 Неинициализированный: начальное значение.
- 1 Open: метод open() был успешно вызван.
- 2 Отправлено: UA успешно выполнил запрос, но данные еще не получены.
- 3 Получение: Непосредственно перед получением тела сообщения (если есть). Все заголовки HTTP получены.
Источник: http://www.w3.org/TR/2006/WD- XMLHttpRequest-20060405/
Похожие вопросы
Новые вопросы
ajax
AJAX (асинхронный JavaScript и XML) — это метод создания интерактивных пользовательских интерфейсов веб-сайтов без традиционного обновления или перезагрузки веб-страницы. Он использует асинхронный обмен данными между клиентом и сервером, чтобы обновлять отображаемую информацию и беспрепятственно реагировать на взаимодействие с пользователем. Включите дополнительные теги для языков программирования, библиотек, фреймворков, веб-браузеров, протоколов и другой информации об окружающей среде.