Показывать содержимое AJAX после загрузки изображений - PullRequest
1 голос
/ 08 июня 2010

Я разрабатываю свой собственный плагин jquery для лайтбоксов.Все работает, но я хочу скрыть загруженный контент до тех пор, пока изображения не загрузятся в браузере от вызова AJAXЯ нашел похожий пост и использую следующий скрипт, но функция setTimeout показывает содержимое, а не функцию .load.Я пытаюсь достичь невозможного?

$.ajax({
      url: 'meet/'+ pLoad + '.html',  
      success: function(data) {
        var imageCount = $(data).filter('img').length;
        var imagesLoaded = 0;
        $(data).hide()
         .appendTo('#zoom_inner')
         .filter('img')
         .load( function() {
          ++imagesLoaded;
          if (imagesLoaded >= imageCount) {
          $('#zoom_inner').children().show();
          }
          });
        setTimeout( function() { $('#zoom_inner').children().show() }, 5000 );
       }
    });

Ответы [ 2 ]

0 голосов
/ 08 июня 2010

По поводу ваших комментариев:

данные - это просто строка в вашем обратном вызове успеха - это "html", но это строка.

сделать использование узла:

var $images = $(data); // i.e. turn <div><img /></div> into a div with an img as a child or whatever you got
var imageCount = $images.find('img').length;

круто, а?

0 голосов
/ 08 июня 2010

Если вы изучите эту статью, я думаю, вы сможете найти решение для вашей проблемы (http://jqueryfordesigners.com/image-loading/)

С наилучшими пожеланиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...