Ajax loading gif добавление во время звонков - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть вызов ajax:

$('.ajaxtrigger2').click(function(){
$('#target').load('xxx.html');
...

как добавить сообщение или изображение загрузки во время этого простого вызова? ТНХ

Ответы [ 4 ]

1 голос
/ 08 февраля 2011

Создайте другой элемент, например,

<div id="loading" style="display: none">Loading...</div>
<div id="target"></div>

, затем покажите загрузочный элемент, когда вы начнете загрузку, и скройте его, когда это будет сделано с помощью обратного вызова load.

$('.ajaxtrigger2').click(function() {
    $("#loading").show();
    $("target").load('xxx.html', function() { 
        $("#loading").hide();
    });
}
0 голосов
/ 10 мая 2013

есть несколько способов. Мой предпочтительный способ - присоединить функцию к событиям ajaxStart / Stop на самом элементе.

$('#loadingDiv')
    .hide()  // hide it initially
    .ajaxStart(function() {
        $(this).show();
    })
    .ajaxStop(function() {
        $(this).hide();
    })
;

Функции ajaxStart / Stop будут срабатывать при каждом вызове ajax.

0 голосов
/ 08 февраля 2011

Лично мне нравится использовать css и добавлять удаление материалов.

<style>
 #target.loading {background image you want, alongside some greying or whatever}
</style>
<script>
....
$('.ajaxtrigger2').click(function(event){
$('#target').addClass("loading");
$('#target').load('xxx.html', function(data,text,xhr){
    $('#target').removeClass("loading");
});
});
...
</script>
0 голосов
/ 08 февраля 2011

Создайте Img, сделайте идентификатор равным чему-то вроде «загрузки» и имеет стиль по умолчанию, такой как «display: none;» а затем добавьте это в событие jQuery onReady

$("#loading").ajaxStart(function () { $(this).show(); }).ajaxStop(function () { $(this).hide(); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...