通过AJAX加载内容和预加载图像?

时间:2011-08-14 22:30:35

标签: jquery ajax image load

说我喜欢:

$(function() {
    $('a').click(function(e) {
        e.preventDefault();
        var h = $(this).attr('href');
        $('#content').load(h);
    });
});

实际上它不会加载图像,只是加载内容,你如何加载实际的图像呢?

有些人似乎并不理解:我的意思是它会加载图像但不会“预加载”,这意味着您会看到图像单独加载。

编辑:假设href等于somepage.html,该页面上有图片和内容,是的,它会加载图片和内容,但实际上并没有预加载图像,你仍然目睹图像单独加载。如何在请求本身中预加载图像?

2 个答案:

答案 0 :(得分:5)

试试这个:

  1. 隐藏#content div,并在其上调用load。这将无形地加载内容,以便您的用户在之后看不到图像加载
  2. 在每张图片上绑定load个事件处理程序,当它们全部被解雇时,重新显示#content div
  3. 请参阅此答案以供参考:Know when images are done loading in AJAX response。它会告诉你到底该做什么。

答案 1 :(得分:1)

请参阅此处的工作示例,了解如何预加载图像;

http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript