加载图像后显示AJAX内容

时间:2010-06-08 14:29:56

标签: javascript jquery ajax image load

我正在开发自己的灯箱类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 :(得分:0)

如果您调查此文章,我认为您可以找到问题的解决方案(http://jqueryfordesigners.com/image-loading/

祝福。

答案 1 :(得分:0)

关于你的意见:

数据只是成功回调中的一个字符串 - 它是“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;
很酷,嗯?