Задержите дисплей изображения, загруженного с помощью jQuery + ajax

Я использую следующий код:

   $.ajax({
        url: "pgiproxy.php",
        data: ({ data : $("#formdata").serialize(), mode : "graph"}),
        success: 
            function(result){
                var temp = $('<div/>').html(result);
                var val = temp.find('center').html();
                $('#BFX').html(val);
            },
        error:
            function(){
                $("#error").html("ERROR !!!");
            }
    });

'Результатом' от вызова ajax до 'pgiproxy.php' является целая веб-страница (возвратился как строка), это затем преобразовывается в объект jQuery и хранится в 'var'. Я затем извлекаю данные, в которых я нуждаюсь (изображение .gif) использующий .find (), который хранится в 'val'. Это изображение затем вставляется в отделение #BFX для дисплея.

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

1
задан niczoom 13 May 2010 в 15:00
поделиться

2 ответа

использовать .load() load-event на

сначала скрыть изображение, затем показать его, когда загрузка завершится...

быстрая демонстрация см. коды

2
ответ дан 3 September 2019 в 00:34
поделиться

Вы можете сделать все это вручную: загрузить изображение в фоновом режиме и затем вставить его на страницу. Есть несколько статей, подробно обсуждающих эту тему, включая эту:
http://jqueryfordesigners.com/image-loading/

0
ответ дан 3 September 2019 в 00:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: