Задержка отображения изображения, загруженного с помощью jquery + ajax - PullRequest
1 голос
/ 13 мая 2010

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

   $.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'.Это изображение затем вставляется в div #BFX для отображения.

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

Ответы [ 2 ]

2 голосов
/ 14 мая 2010

использование .load () событие загрузки при <img>

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

быстрое демо см. Коды

0 голосов
/ 13 мая 2010

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

...